| 5 | 1/1 | 返回列表 |
| 查看: 2572 | 回復(fù): 11 | |||
| 當(dāng)前只顯示滿足指定條件的回帖,點(diǎn)擊這里查看本話題的所有回帖 | |||
加油大楠楠銅蟲 (小有名氣)
|
[求助]
請教matlab用數(shù)組給參數(shù)矩陣賦值的問題
|
||
|
syms x y z d1 d2 d3 r l;n=1;%定義矩陣參數(shù) a=1/l*[z+r-d1 0 0;0 -0.866*y-0.5*z+r-d2 0;0 0 0.866*y-0.5*z+r-d3]; b=[x y z+r-d1;x y-0.866*r+0.866*d2 z-0.5*r+0.5*d2;x y+0.866*r-0.866*d3 z-0.5*r+0.5*d3]; c=inv(a); d=c*b;%d為我需要的比矩陣 到這一步矩陣的計算都不成問題 d=subs(d,{'r','l','x','y','z','d1','d2','d3'},{31.8,40.2,B(n,1),B(n,2),B(n,3),B(n,4),B(n,5),B(n,6)}); %給參數(shù)賦值,其中x y z d1 d2 d3是用B矩陣的第n行對應(yīng)的列來賦值的 e = norm(d,'fro'); %求范數(shù) f(n,1)=e;%將范數(shù)記錄 n=n+1; if n==101;%B數(shù)組有100行所以到一百終止 end 最后結(jié)果f數(shù)列中只有一個數(shù) ,請幫忙 |
銅蟲 (小有名氣)
|
不好意思回復(fù)晚了 那你再幫我看看這整段程序 我把上次的程序稍微改了下,就是對于每個l,我要求他xyx為不同值的時候的范數(shù),然后相加,最后把每個l的范數(shù)和提取出來,十分感謝了 我運(yùn)行總是報錯 j=1;z=20;r=32; for l=32:34 %設(shè)定范圍 i=1; tezheng=0; for rad=0:l; %這兩個for的步長可以根據(jù)運(yùn)算效率適當(dāng)放大 for thea=0:pi/10:2*pi; m=rad*cos(thea); n=rad*sin(thea); d11=1/3*(3*r+3*m+sqrt(9*l^2-9*n^2-9*z^2)); d12=1/3*(6*r-3*m+3*n*sqrt(3)+sqrt(36*l^2-27*m^2-18*m*n*sqrt(3)-9*n^2-36*z^2)); d13=1/3*(6*r-3*m-3*n*sqrt(3)+sqrt(36*l^2-27*m^2+18*m*n*sqrt(3)-9*n^2-36*z^2)); B(i, =[m,n,z,d11,d12,d13];syms x1 y1 z1 d1 d2 d3 l1; a=(1/l1)*[z1+r-d1 0 0;0 -0.866*y1-0.5*z1+r-d2 0;0 0 0.866*y1-0.5*z1+r-d3]; b=[x1 y1 z1+r-d1;x1 y1-0.866*r+0.866*d2 z1-0.5*r+0.5*d2;x1 y1+0.866*r-0.866*d3 z1-0.5*r+0.5*d3]; c=inv(a); d=c*b;%d為雅克比矩陣 d=subs(d,{'l1','x1','y1','z1','d1','d2','d3'},{l,B(i,1),B(i,2),B(i,3),B(i,4),B(i,5),B(i,6)}); e = norm(d,'fro'); %2范數(shù) hh(i,1)=1/e;%把這個范數(shù)記錄在hh中 tezheng=hh(i,1)+tezheng;%相加對于相同l值的對應(yīng)的范數(shù) i=i+1; end end tezheng1(j, =tezheng/(i-1);%把不同l值對應(yīng)的范數(shù)求和再除以相應(yīng)的l值 存在數(shù)組tezheng1中j=j+1; end 錯誤信息是 clear ??? Error using ==> mupadmex Error in MuPAD command: Out of memory Error in ==> sym.horzcat at 25 y = mupadmex('mllib::horzcat',strs{:}); Error in ==> jacobi at 16 a=(1/l1)*[z1+r-d1 0 0;0 -0.866*y1-0.5*z1+r-d2 0;0 0 0.866*y1-0.5*z1+r-d3]; >> |
木蟲 (正式寫手)
木蟲 (正式寫手)
|
我還是不是很明白你要做什么,你這個程序?qū)懙奈矣悬c(diǎn)看不懂。但有點(diǎn)建議,一:你這個應(yīng)該沒有必要用符號計算,符號計算很慢。二:你這個程序編寫的不怎樣,基礎(chǔ)不是很好,寫的有C語言的感覺,可能你的想法你沒用程序表達(dá)出來,要不你說說你要干啥吧,我看能不能幫你。話說直了點(diǎn),望不怪。 下面是我沒用符號計算程序,速度快了很多,但是還是存在錯誤,出不了結(jié)果,因?yàn)槲疫是沒有理解你要干啥。 j=1;z=20;r=32; for l=32:34 %設(shè)定范圍 i=1; tezheng=0; for rad=0:l; %這兩個for的步長可以根據(jù)運(yùn)算效率適當(dāng)放大 for thea=0:pi/10:2*pi; m=rad*cos(thea); n=rad*sin(thea); d11=1/3*(3*r+3*m+sqrt(9*l^2-9*n^2-9*z^2)); d12=1/3*(6*r-3*m+3*n*sqrt(3)+sqrt(36*l^2-27*m^2-18*m*n*sqrt(3)-9*n^2-36*z^2)); d13=1/3*(6*r-3*m-3*n*sqrt(3)+sqrt(36*l^2-27*m^2+18*m*n*sqrt(3)-9*n^2-36*z^2)); B(i, =[m,n,z,d11,d12,d13];a=(1/B(i,1))*[B(i,3)+r-B(i,4) 0 0;0 -0.866*B(i,2)-0.5*B(i,3)+r-B(i,5) 0;0 0 0.866*B(i,2)-0.5*B(i,3)+r-B(i,6)]; b=[B(i,1) B(i,2) B(i,3)+r-B(i,4);B(i,1) B(i,2)-0.866*r+0.866*B(i,5) B(i,3)-0.5*r+0.5*B(i,5);B(i,1) B(i,2)+0.866*r-0.866*B(i,6) B(i,3)-0.5*r+0.5*B(i,6)]; % c=inv(a); d=a\b;%d為雅克比矩陣 e = norm(d,'fro'); %2范數(shù) hh(i,1)=1/e;%把這個范數(shù)記錄在hh中 tezheng=hh(i,1)+tezheng;%相加對于相同l值的對應(yīng)的范數(shù) i=i+1; end end tezheng1(j, =tezheng/(i-1+eps);%把不同l值對應(yīng)的范數(shù)求和再除以相應(yīng)的l值 存在數(shù)組tezheng1中j=j+1; end |
銅蟲 (小有名氣)
|
看來真是行家 我這是臨時學(xué)的matlab 才不到一個月 因?yàn)槲矣幸粋計算要做我跟你說一下 麻煩您幫我看一下,我是做機(jī)械的,里面有一個設(shè)計參數(shù)l,有一個設(shè)計指標(biāo),是一個矩陣就是上面說的那個雅克比矩陣,我現(xiàn)在要計算對應(yīng)每個l的雅克比矩陣,但是每個l的雅克比矩陣同時也有變量xyz,d1d2d3的,并不是一個數(shù),他是一個數(shù)集,所以你看到我編程用的是i=1; tezheng=0; for rad=0:l; %這兩個for的步長可以根據(jù)運(yùn)算效率適當(dāng)放大 for thea=0:pi/10:2*pi; m=rad*cos(thea); n=rad*sin(thea); d11=1/3*(3*r+3*m+sqrt(9*l^2-9*n^2-9*z^2)); d12=1/3*(6*r-3*m+3*n*sqrt(3)+sqrt(36*l^2-27*m^2-18*m*n*sqrt(3)-9*n^2-36*z^2)); d13=1/3*(6*r-3*m-3*n*sqrt(3)+sqrt(36*l^2-27*m^2+18*m*n*sqrt(3)-9*n^2-36*z^2)); 說白了我就是想把每個l中不同的xyz,d1d2d3對應(yīng)的矩陣二范數(shù)求出來,就是這樣 謝謝了 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 085600,專業(yè)課化工原理,321分求調(diào)劑 +4 | 大饞小子 2026-03-28 | 4/200 |
|
|---|---|---|---|---|
|
[考研] 材料學(xué)碩333求調(diào)劑 +10 | 北道巷 2026-03-24 | 10/500 |
|
|
[考研] 本科雙非材料,跨考一志愿華電085801電氣,283求調(diào)劑,任何專業(yè)都可以 +6 | 芝士雪baoo 2026-03-28 | 7/350 |
|
|
[考研] 320分,材料與化工專業(yè),求調(diào)劑 +9 | 一定上岸aaa 2026-03-27 | 13/650 |
|
|
[考研] 304求調(diào)劑 +6 | 曼殊2266 2026-03-27 | 6/300 |
|
|
[考研] 085602 307分 求調(diào)劑 +7 | 不知道叫什么! 2026-03-26 | 7/350 |
|
|
[考研] 086000調(diào)劑 +3 | 7901117076 2026-03-26 | 3/150 |
|
|
[考研] 266分求材料化工冶金礦業(yè)等專業(yè)的調(diào)劑 +4 | 哇呼哼呼哼 2026-03-26 | 4/200 |
|
|
[考研] 085600,材料與化工321分,求調(diào)劑 +9 | 大饞小子 2026-03-27 | 9/450 |
|
|
[考研] 348求調(diào)劑 +4 | 小懶蟲不懶了 2026-03-27 | 5/250 |
|
|
[考研] 一志愿211,335分,0856,求調(diào)劑院校和導(dǎo)師 +4 | 傾____蕭 2026-03-27 | 5/250 |
|
|
[考研] 調(diào)劑 +3 | 李嘉圖·S·路 2026-03-27 | 3/150 |
|
|
[考研] 0703化學(xué)338求調(diào)劑! +6 | Zuhui0306 2026-03-26 | 7/350 |
|
|
[碩博家園] 北京林業(yè)大學(xué)碩導(dǎo)招生廣告 +6 | kongweilin 2026-03-26 | 8/400 |
|
|
[考研] 271求調(diào)劑 +6 | 生如夏花… 2026-03-22 | 6/300 |
|
|
[考研] 085601求調(diào)劑總分293英一數(shù)二 +4 | 鋼鐵大炮 2026-03-24 | 4/200 |
|
|
[考研]
|
13659058978 2026-03-24 | 4/200 |
|
|
[基金申請] 請教下大家 2026年國家基金申請是雙盲審嗎? +3 | lishucheng1 2026-03-22 | 5/250 |
|
|
[論文投稿] 急發(fā)核心期刊論文 +3 | 賢達(dá)問津 2026-03-23 | 5/250 |
|
|
[考研] 328求調(diào)劑 +4 | LHHL66 2026-03-23 | 4/200 |
|