How can I stop a user defined function from returning the output twice?
古いコメントを表示
The function seems to be looping twice. I cannot see how the code allows this.
Code:
function [ x,solution,logical ] = sim_eq( A,b )
%SIM_EQ solves a system of simultaneous equations.
% Calculate rank and solve
n=input('Input number of unknowns:');
m=input('Input number of equations:');
r1=rank(A);
r2=rank([A b]);
if r1==r2 && r1==n && r2==n
if m>n
display('Overdetermined set of equations. Least-squares fit.');
x=A\b
solution= 'Unique'
logical= 'Approximate'
elseif m==n
x=A\b
solution= 'Unique'
logical= 'Exact'
end
elseif r1==r2 && r1<n && r2<n
x=pinv(A)*b
solution= 'A solution'
logical= 'Exact'
elseif r1~=r2
x= 'No solution'
solution= 'nil'
logical= 'nil'
end
end
3 件のコメント
dpb
2015 年 3 月 22 日
Seems to just sit there afaict... :)
Show us what you think the issue is specifically, don't make us try to dream it up...
craig
2015 年 3 月 23 日
dpb
2015 年 3 月 23 日
I had to format the code and admit I then didn't actually read it...hadn't thought it so simple a question... :)
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Get Started with MuPAD についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!