[問題] 矩陣取值 迭代運算已回收

看板MATLAB作者 (口試要到了)時間16年前 (2009/11/13 15:20), 編輯推噓0(003)
留言3則, 1人參與, 最新討論串1/1
小弟我有個方程式需要作迭代 給一個'初始矩陣',帶入運算後得到'計算後矩陣' 再將'初始矩陣'加'計算後矩陣'變成另一個'初始矩陣' 進行迭代,但是始終沒辦法成功 程式如下 clear all clc syms Q3 Q4 f=40*cos(Q3)+70*cos(Q4)-75; g=40*sin(Q3)+70*sin(Q4); dQ3f=diff(f,Q3); dQ4f=diff(f,Q4); dQ3g=diff(g,Q3); dQ4g=diff(g,Q4); A=[dQ3f dQ4f; dQ3g dQ4g]; B=[f; g]; old=[1; 1]; deltaA=[0; 0]; %如果我沒加這行 MATLAB 會不讓我運算% a=5e-15; for n=1:100000000000; old=old+deltaA; %但是把deltaA設成空集合後,確運算不出答案% deltaA=-inv(subs(A,[Q3 Q4], [old(1,1) old(2,1)]))*subs(B,[Q3 Q4], [old(1,1) old(2,1)]); if abs(old(1,1))+ abs(old(2,1)) <= a break; end end old 小弟最近才開始學程式 所以語言寫的不好 請各位大大見諒 -- 心機鬼屋 歡迎大家一起來耍心機 http://www.wretch.cc/blog/pazane1115 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.60.224

11/14 22:36, , 1F
subs(A,[Q3 Q4],[old(1) old(2)]) %old=[1;1], A:singular
11/14 22:36, 1F

11/14 22:37, , 2F
deltaA=-inv(a singular matrix)*(vector)=[NAN;NAN]
11/14 22:37, 2F

11/14 22:39, , 3F
old=old+deltaA;%old=[1;1]+[NaN;NaN]=[NaN;NaN]...
11/14 22:39, 3F
文章代碼(AID): #1A_GYsr0 (MATLAB)