- something is wrong with the size of the data in the inputs
- the variables are being computed incorrectly
- the variables and computations are fine but the line of code is not correct
trying to multiply and divide different size matices
2 views (last 30 days)
Show older comments
I am trying to make sense of this line
cdp = cdp_initial + cdp_increment * (sigma_range / KIc) * N_cycles;
However, the matrix for sigma_range is 1x11. However KIc, and N_cycles are both 6x6
Is there a logical way to perfrom this operation?
Thanks in advance
Alex
1 Comment
Adam Danz
on 22 May 2023
Edited: Adam Danz
on 22 May 2023
When you see a size mismatch like this, three possible explanations come to mind
Where I would start troubleshooting depends on context. If lots of others have used this code without problems and it comes from a reputable source, I'd start with #1, assuming I screwed up the inputs.
If I wrote the code yesterday after losing sleep for 3 days and was suspicious that gnomes may have messed with my code, I'd start with #3 after checking that the inputs make sense.
If you confirmed that the code is not the problem and your inputs are correct, then start with #2.
Accepted Answer
Image Analyst
on 22 May 2023
Not that I know of. It throws an error, right? Can't you ask the original author what their thinking was?
2 Comments
FannoFlow
on 22 May 2023
A possible "solution" could be to multiply the 6x6 each by the 1x11, generating a 6x6x11 matrix.
You'd do this by reshaping the 1x11 matrix to a 1x1x11 matrix reshape(data, 1,1,[]) and then multiplying.
After that, I'm not sure. perhaps this is inteded to be used in some sort of mean? Either way you need to sort out the logic and intent behind the program here before moving forward.
```
More Answers (0)
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!