電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 1422|回復(fù): 3
收起左側(cè)

問題求助!同樣的計算在matlab和mathematica里結(jié)果不一樣。

[復(fù)制鏈接]

594

主題

958

帖子

5093

積分

四級會員

Rank: 4

積分
5093
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2023-3-22 17:31:33 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
matlab代碼如下





mathematica代碼如下













matlab中畫出的圖是



mathematica畫出的圖是





對兩份代碼我已經(jīng)檢查了幾遍,沒發(fā)現(xiàn)有什么不一樣的地方,但最終的結(jié)果確是不同。
希望大佬幫助。∵@個圖是我作業(yè),要到期了,嗚嗚。
二樓放源代碼。
回復(fù)

使用道具 舉報

591

主題

1772

帖子

5770

積分

四級會員

Rank: 4

積分
5770
沙發(fā)
發(fā)表于 2023-3-22 17:32:22 | 只看該作者
matlab代碼
clear
T1z2018=1:1:2000;
T2z2018=1:1:2000;
T3z2018=1:1:2000;
T4z2018=1:1:2000;
T5z2018=1:1:2000;
gamma=1:1:2000;
for p=1:1:2000
    w=p*0.001;
        T1=[2.5- (w^2)/1.5,-(1/1.5);1,0];
        T2=[2-((w^2)/3),-1;1,0];
        T4=[(4.5-(0.5*(w^2)))/3,-1.5/3;1,0];
        T5=[(4.5-(0.5*(w^2)))/1.5, -3/1.5;1,0];
        T6=[2 - ((w^2)/1.5), -1;1,0];
        T7=[(6 - (0.5*(w^2)))/3, -1;1,0];
        T3=[(2.5 - (w^2))/1, -1.5/1;1,0];
        sigema=1 - ((w^2)/2) - (1i*w*((1 - ((w^2)/4))^(1/2)));
        gamma = w*((1 - ((w^2)/4))^(1/2));
        M7=T1*T2*T3;
        M6=T1*T2*T6*T2*T3;
        M3=T1*T4*T5*T3;
        M4=T1*T4*T7*T5*T3;
        M5=T1*T2*T6*T4*T5*T3;
        T1z2018(p)=4*(gamma^2)*((abs(M7(1,1)-(sigema*(M7(2, 1)-M7(1, 2)))+ (sigema^2)*(-M7(2, 2))))^(-2));
        T2z2018(p)=4*(gamma^2)*((abs(M3(1,1)-(sigema*(M3(2, 1)-M3(1, 2)))+ (sigema^2)*(-M3(2, 2))))^(-2));
        T3z2018(p)=4*(gamma^2)*((abs(M6(1,1)-(sigema*(M6(2, 1)-M6(1, 2)))+ (sigema^2)*(-M6(2, 2))))^(-2));
        T4z2018(p)=4*(gamma^2)*((abs(M4(1,1)-(sigema*(M4(2, 1)-M4(1, 2)))+ (sigema^2)*(-M4(2, 2))))^(-2));
        T5z2018(p)=4*(gamma^2)*((abs(M5(1,1)-(sigema*(M5(2, 1)-M5(1, 2)))+ (sigema^2)*(-M5(2, 2))))^(-2));
   
end
plot(1:1:2000,T1z2018)
hold on
plot(1:1:2000,T2z2018)
hold on
plot(1:1:2000,T3z2018)
hold on
plot(1:1:2000,T4z2018)
hold on
plot(1:1:2000,T5z2018)
回復(fù) 支持 反對

使用道具 舉報

2

主題

849

帖子

722

積分

二級會員

Rank: 2

積分
722
板凳
發(fā)表于 2023-3-22 17:33:00 | 只看該作者
mathematica代碼
T1z2018 = Range[5000];
T2z2018 = Range[5000];
T3z2018 = Range[5000];
T4z2018 = Range[5000];
T5z2018 = Range[5000];
For[p = 1, p < 5000, p++, w = 0.001*p; T0 = {{2 - (w^2), -1}, {1, 0}};
  T1 = {{(2.5 - (w^2))/1.5, -(1/1.5)}, {1, 0}};
  T2 = {{2 - ((w^2)/3), -1}, {1, 0}};
  T4 = {{(4.5 - (0.5*(w^2)))/3, -1.5/3}, {1, 0}};
  T5 = {{(4.5 - (0.5*(w^2)))/1.5, -3/1.5}, {1, 0}};
  T6 = {{2 - ((w^2)/1.5), -1}, {1, 0}};
  T7 = {{(6 - (0.5*(w^2)))/3, -1}, {1, 0}};
  T3 = {{(2.5 - (w^2))/1, -1.5/1}, {1, 0}};
  sigema = 1 - ((w^2)/2) - (I*w*((1 - ((w^2)/4))^(1/2)));(*假設(shè)它不加1*)
  gamma = w*((1 - ((w^2)/4))^(1/2));
  T2={{2-((w^2)/3),-1},{1,0}};
  T4={{(4.5-(0.5*(w^2)))/1.5,-3/1.5},{1,0}};
  T5={{(4.5-(0.5*(w^2)))/3,-1.5/3},{1,0}};
  T6={{2-((w^2)/1.5),-1},{1,0}};
  T7={{(6-(0.5*(w^2)))/3,-1},{1,0}};
  T3={{(2.5-(w^2))/1.5,-1/1.5},{1,0}};*)
  M7 = T1.T2.T3;(*I鏈子*)
  M7 = MatrixPower[M7, 1];
  M6 = T1.T2.T6.T2.T3;
  M6 = MatrixPower[M6, 1];(*III鏈子*)
  M3 = T1.T4.T5.T3;(*II鏈子*)
  M4 = T1.T4.T7.T5.T3;
  M3 = MatrixPower[M3, 1];
  M4 = MatrixPower[M4, 1];
  M5 = T1.T2.T6.T4.T5.T3;(*V鏈子*)
  T1z2018[[p]] =
   4*(gamma^2)*((Abs[
        M7[[1, 1]] - (sigema*(M7[[2, 1]] -
             M7[[1, 2]])) + (sigema^2)*(-M7[[2, 2]])])^(-2));
  T2z2018[[p]] =
   4*(gamma^2)*((Abs[
        M3[[1,
          1]] - (sigema*(M3[[2, 1]] - M3[[1, 2]])) + (sigema^2)*(-M3[[
             2, 2]])])^(-2));
  T3z2018[[p]] =
   4*(gamma^2)*((Abs[
        M6[[1, 1]] - (sigema*(M6[[2, 1]] -
             M6[[1, 2]])) + (sigema^2)*(-M6[[2, 2]])])^(-2));
  T4z2018[[p]] =
   4*(gamma^2)*((Abs[
        M4[[1, 1]] - (sigema*(M4[[2, 1]] -
             M4[[1, 2]])) + (sigema^2)*(-M4[[2, 2]])])^(-2));
  T5z2018[[p]] =
   4*(gamma^2)*((Abs[
        M5[[1, 1]] - (sigema*(M5[[2, 1]] -
             M5[[1, 2]])) + (sigema^2)*(-M5[[2, 2]])])^(-2));
  ];


p1 = ListPlot[T1z2018[[Range[0, 2000]]], Joined -> True,
  PlotStyle -> Red]
p2 = ListPlot[T2z2018[[Range[0, 2000]]], Joined -> True,
  PlotStyle -> Green]
p3 = ListPlot[T3z2018[[Range[0, 2000]]], Joined -> True,
  PlotStyle -> Cyan]
p4 = ListPlot[T4z2018[[Range[0, 2000]]], Joined -> True,
  PlotStyle -> Pink]
p5 = ListPlot[T5z2018[[Range[0, 2000]]], Joined -> True,
  PlotStyle -> Black]
Show[p1, p2, p3, p4, p5, PlotRange -> All]
回復(fù) 支持 反對

使用道具 舉報

0

主題

875

帖子

675

積分

二級會員

Rank: 2

積分
675
地板
發(fā)表于 2023-3-22 17:33:49 | 只看該作者
看不懂mathmatica的代碼,但建議對比兩個軟件算出來的T1~T7,M1~M7,先確定問題發(fā)生的位置
回復(fù) 支持 反對

使用道具 舉報

發(fā)表回復(fù)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表