Error when I try to use Code Analyzer suggestions

I get the following warning: INV is slow and inaccurate. Use A\b for INV(A)*b , and b/A for b*INV(A)
the warning happens at at these 3 lines
a = a1 + p1*Z'*inv(f1)*(vt);
p = p1 - p1*Z'*inv(f)*Z*p1;
s(t,:) = v'*inv(f)*v;
I have tried to follow the suggestion without success. Probably I haven't understand the right equivalent syntax.
How I should write these code lines?

2 件のコメント

jgg
jgg 2015 年 12 月 12 日
It's just a warning; you don't have to fix it. The inv function, as it suggests, is slow and inaccurate. I think if I understand your code properly, the corrected version would be:
a = a1 + ((p1*Z')/f1)*(vt);
p = p1 - ((p1*Z')/f)*Z*p1;
s(t,:) = (v'/f)*v;
If you're getting an error, check the dimensions of the matrices to make sure they align.
Andrew Farsech
Andrew Farsech 2015 年 12 月 13 日
thanks, I know that it's only a warning not an error, the error happened in calculation because I have made a mistake in the attempt to follow the hint.

回答 (0 件)

この質問は閉じられています。

製品

質問済み:

2015 年 12 月 12 日

閉鎖済み:

2021 年 8 月 20 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by