Info
此问题已关闭。 请重新打开它进行编辑或回答。
function svd(A,'econ')
1 次查看(过去 30 天)
显示 更早的评论
My problem is cannot running this coding which is i want the output same with matrix A. Please help me.
function A1=qoutprod(S,V)
A=[-2 8 20;14 19 10;2 -2 1];
[U,S,V]=svd(A,'econ');
A1=zeros(3,3);
for i=1:3
A1=A1*U(:,1:i)*qoutprod(S(1:i,1:i),V(:,1:i));
end
end
below show error when run the coding:
>> qoutprod
Out of memory. The likely cause is an infinite recursion within the program.
Error in qoutprod (line 8)
A1=A1*U(:,1:i)*qoutprod(S(1:i,1:i),V(:,1:i));
2 个评论
Bora Eryilmaz
2022-12-14
It is not clear what you are trying to do. Your code is making recursive calls to the qoutprod functions that will never stop running.
Jan
2022-12-14
编辑:Jan
2022-12-14
@NOR AZIERA: Please format your code properly. I've done this for you before, but you can do this by your own. Thanks.
This is a follow-up question to:
- https://www.mathworks.com/matlabcentral/answers/1877732-please-help-me
- https://www.mathworks.com/matlabcentral/answers/1878217-function-outprod-m
I've mentioned already, that "does not work" and "cannot run" is not useful to explain a problem. Post a copy of the error message instead.
The code suffers from the same problem: You call qoutprod recursive from inside the function and overwrite the input arguments. This causes an infinite recursion. You got solutions in another question already, therefore I close this question.
回答(0 个)
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!