"To RESHAPE the number of elements must not change" error during plot
조회 수: 2 (최근 30일)
이전 댓글 표시
Dear all,
I have a function (1x1 symfun) S4(t) with a variable of t. It's a very very long expression so I cannot write them here but it is a multi-exponential function.
Then I did:
t = 0:0.0000001:0.00002
y = S4(t)
plot(t,y)
However, I got "To RESHAPE the number of elements must not change". I have no idea where this came from because I have never used the command RESHAPE. Also, the first time around, when S4(t) was a slightly more compact function and rest of the script exactly the same, I did not have this issue.
I think the command "y = S4(t)" is the problem, but I don't see why it's not good. What am I doing wrong?
Thank you
댓글 수: 15
Jan
2017년 6월 25일
Ah, the partially contained message might mean, that this is a problem of sym/disp, so only the display in the command window is affected? Then try to supress this output using a semicolon.
채택된 답변
dpb
2017년 6월 24일
"S4(t)" is symbolic and a (very) long character expression whereas "t" is double vector. plot is trying to turn them both into column vectors but they're not of commensurate lengths so it aborts.
You can try to convert the symbolic expression to numeric first but if it is so long it may not succeed; you may need to reformulate your problem to use numeric solution rather than explicit symbolic. Doing so would probably also reduce your calculation time by orders of magnitude.
댓글 수: 2
dpb
2017년 6월 24일
"Do you think vpa would work?"
No, not really, I don't. What have you got to lose to try, however, you've reached/exceeded the limits of practicality and crashed symbolics this way.
I suspect you're going to have to reformulate the solution technique rather than being able to brute-force a direct solution.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!