24小时热门版块排行榜    

CyRhmU.jpeg
查看: 557  |  回复: 7
当前主题已经存档。
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 zhangzg698958 的 14 个金币 ,回帖就立即获得 1 个金币,每人有 1 次机会

zhangzg698958

金虫 (正式写手)

[交流] 【求助】50金币求解觉矩阵中未知数画图问题,先行谢过!!!

已知: ,
       I=[1 0;0 1];
    T1=[1 1;1 -1];
    T2=[exp(-j*k2*d2)  exp(j*k2*d2);Z1*exp(-j*k2*d2)/Z2  -Z1*exp(j*k2*d2)/Z2];
    T3=[exp(-j*k3*d3)  exp(j*k3*d3);Z2*exp(-j*k3*d3)/Z3  -Z2*exp(j*k3*d3)/Z3];
    T4=[exp(-j*k4*d4)  exp(j*k4*d4);Z3*exp(-j*k4*d4)/Z4  -Z3*exp(j*k4*d4)/Z4];
    T5=[exp(-j*k5*d5)  exp(j*k5*d5);Z4*exp(-j*k5*d5)/Z5  -Z4*exp(j*k5*d5)/Z5];
    T6=[exp(-j*k6*d6)  exp(j*k6*d6);Z5*exp(-j*k6*d6)/Z6  -Z5*exp(j*k6*d6)/Z6];

其中:
k1= 2*pi*f/c1; k2=2*pi*f/c2; k3=2*pi*f/c3; k4=2*pi*f/c4; k5=2*pi*f/c5; k6=2*pi*f/c6;
d1=0.002;d2=0.002;d3=0.002;d4=0.002;d5=0.002;d6=0.002;

c1=5960; c2=96;c3=5960;c4=96;c5=5960;c6=96;
rho1=7850; rho2=1300; rho3=7850; rho4=1300; rho5=7850; rho6=1300;
Z1= rho1*c1; Z2= rho2*c2; Z3= rho3*c3; Z4=rho4*c4; Z5=rho5*c5; Z6=rho6*c6;

f=250:1:20000

令S=det( T6^-1*T1*T5^-1*T1*T4^-1*T1*T3^-1*T1*T2^-1*T1-exp(xi)*I)=0时,如何画出f与real(xi)的曲线。

以下是我编的程序:

close all
clear all
syms xi
for f=250:1:20000;
c1=5960; c2=96;c3=5960;c4=96;c5=5960;c6=96;
rho1=7850; rho2=1300; rho3=7850; rho4=1300; rho5=7850; rho6=1300;
Z1= rho1*c1; Z2= rho2*c2; Z3= rho3*c3; Z4=rho4*c4; Z5=rho5*c5; Z6=rho6*c6;
k1= 2*pi*f/c1; k2=2*pi*f/c2; k3=2*pi*f/c3; k4=2*pi*f/c4; k5=2*pi*f/c5; k6=2*pi*f/c6;
d1=0.002;d2=0.002;d3=0.002;d4=0.002;d5=0.002;d6=0.002;
    T1=[1 1;1 -1];I=[1 0;0 1];
    T2=[exp(-j*k2*d2)  exp(j*k2*d2);Z1*exp(-j*k2*d2)/Z2  -Z1*exp(j*k2*d2)/Z2];
    T3=[exp(-j*k3*d3)  exp(j*k3*d3);Z2*exp(-j*k3*d3)/Z3  -Z2*exp(j*k3*d3)/Z3];
    T4=[exp(-j*k4*d4)  exp(j*k4*d4);Z3*exp(-j*k4*d4)/Z4  -Z3*exp(j*k4*d4)/Z4];
    T5=[exp(-j*k5*d5)  exp(j*k5*d5);Z4*exp(-j*k5*d5)/Z5  -Z4*exp(j*k5*d5)/Z5];
    T6=[exp(-j*k6*d6)  exp(j*k6*d6);Z5*exp(-j*k6*d6)/Z6  -Z5*exp(j*k6*d6)/Z6];
S= T6^-1*T1*T5^-1*T1*T4^-1*T1*T3^-1*T1*T2^-1*T1-exp(xi)*I;
det(S)=0;
end
f=250:1:20000;

plot(f,real(xi))


  未能得到希望结果,敬请高手指正。附件中为详细说明。

[ Last edited by zhangzg698958 on 2010-3-5 at 00:30 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ftp0000

木虫 (小有名气)

kuhailangyu:欢迎参与交流 2010-03-03 13:47
zhangzg698958(金币+1):抛砖引玉,谢谢!!! 2010-03-03 19:13
lz最好不用用这样的附件形式,还要流量呢,如果能用图片形式就好了
2楼2010-03-03 13:34:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangzg698958

金虫 (正式写手)

高手帮忙!!!

我连续修改数十次未有结果,此程序涉及循环、指数、复数、矩阵、隐函数等诸多方面,我实在无能为力!
对于高手而言,此程序有可能过于简单,但对于我,目前实在无办法!
以前在此得到很多帮助,希望高手不吝出手!!!
些许金币,不成敬意!!!

谢谢谢谢-------!!!!!!
3楼2010-03-03 19:17:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangzg698958

金虫 (正式写手)

自查!!!

问题有可能出现在逆矩阵中,逆矩阵的运算用到行列式,而行列式无法进行未知数的运算!!!

请高手解决此问题!!!
4楼2010-03-03 20:25:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ftp0000

木虫 (小有名气)


zhangzg698958(金币+10):谢谢帮忙!xi是个复数,又在指数中,方程显示不好写!想找到它的实部,然后实部与f画图!高手再帮助看看,帮到底,先行谢过!!! 2010-03-04 10:42
adu886886(金币+1):谢谢提供意见 2010-03-05 08:50
我仔细检查了lz的程序,发现主要问题不是逆矩阵的问题,虽然有些情况下逆矩阵求不出来

其实lz就是想解一个方程,是xi的函数,lz编程的思路是这样的

S=f(xi);
det(S)=0;

想让程序根据第二句直接给出xi的值,这样是行不通的,因为matlab中det求解是不知道xi是什么的

所以我的建议就是lz花点时间把这个方程显式形式写出来,然后求解,这个好像是个二阶的方程,不难用求根公式求
5楼2010-03-04 10:11:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangzg698958

金虫 (正式写手)

高手帮忙!!!

又进行了一些列修改,还是存在问题!!!在下面的程序中,T1='T';
xi=solve('T');可解出两个数值,而画图只需要一个数值,到底错在哪里?是solve的问题还是plot的问题???高手帮忙!!!我是学材料的,matlab半路出家,易学难精啊!而且,指望这个程序毕业哪!!!

close all
clear all
syms xi
for f=250:100:20000;
c1=5960; c2=96;c3=5960;c4=96;c5=5960;c6=96;
rho1=7850; rho2=1300; rho3=7850; rho4=1300; rho5=7850; rho6=1300;
Z1= rho1*c1; Z2= rho2*c2; Z3= rho3*c3; Z4=rho4*c4; Z5=rho5*c5; Z6=rho6*c6;
k1= 2*pi*f/c1; k2=2*pi*f/c2; k3=2*pi*f/c3; k4=2*pi*f/c4; k5=2*pi*f/c5; k6=2*pi*f/c6;
d1=0.002;d2=0.002;d3=0.002;d4=0.002;d5=0.002;d6=0.002;
    T1=[1 1;1 -1];I=[1 0;0 1];
    T2=[exp(-j*k2*d2)  exp(j*k2*d2);Z1*exp(-j*k2*d2)/Z2  -Z1*exp(j*k2*d2)/Z2];
    T3=[exp(-j*k3*d3)  exp(j*k3*d3);Z2*exp(-j*k3*d3)/Z3  -Z2*exp(j*k3*d3)/Z3];
    T4=[exp(-j*k4*d4)  exp(j*k4*d4);Z3*exp(-j*k4*d4)/Z4  -Z3*exp(j*k4*d4)/Z4];
    T5=[exp(-j*k5*d5)  exp(j*k5*d5);Z4*exp(-j*k5*d5)/Z5  -Z4*exp(j*k5*d5)/Z5];
    T6=[exp(-j*k6*d6)  exp(j*k6*d6);Z5*exp(-j*k6*d6)/Z6  -Z5*exp(j*k6*d6)/Z6];
S= T6^-1*T1*T5^-1*T1*T4^-1*T1*T3^-1*T1*T2^-1*T1-exp(xi)*I;
end
T=det(S);
T1='T';
xi=solve('T');
xi1=real(xi); xi2=imag(xi);
f=250:100:20000;
plot(f, xi1)
6楼2010-03-04 21:50:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hitzhang

木虫 (正式写手)

zhangzg698958(金币+5):谢谢高手,就是太简明扼要了!!!能否再详细一点!!! 2010-03-05 00:13
引用回帖:
Originally posted by zhangzg698958 at 2010-03-04 21:50:59:
又进行了一些列修改,还是存在问题!!!在下面的程序中,T1='T';
xi=solve('T');可解出两个数值,而画图只需要一个数值,到底错在哪里?是solve的问题还是plot的问题???高手帮忙!!!我是学材料的,matlab半 ...

二阶行列式应该有俩个解得,具体哪个合理要看物理意义
7楼2010-03-04 23:34:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

★ ★
zhangzg698958(金币+30):谢谢!!! 2010-03-05 00:17
zhangzg698958(金币+20):再次感谢!!! 2010-03-05 00:27
adu886886(金币+2):谢谢交流,欢迎常来仿真编程版 2010-03-05 08:50
function A111
clc
clear all
syms x
c1=5960; c2=96;c3=5960;c4=96;c5=5960;c6=96;
rho1=7850; rho2=1300; rho3=7850; rho4=1300; rho5=7850; rho6=1300;
Z1= rho1*c1; Z2= rho2*c2; Z3= rho3*c3; Z4=rho4*c4; Z5=rho5*c5; Z6=rho6*c6;
d1=0.002;d2=0.002;d3=0.002;d4=0.002;d5=0.002;d6=0.002;
f=250:100:20000;
for n=1:length(f)
    k1=2*pi*f(n)/c1; k2=2*pi*f(n)/c2; k3=2*pi*f(n)/c3; k4=2*pi*f(n)/c4; k5=2*pi*f(n)/c5; k6=2*pi*f(n)/c6;
    T1=[1 1;1 -1];I=[1 0;0 1];
    T2=[exp(-j*k2*d2)  exp(j*k2*d2);Z1*exp(-j*k2*d2)/Z2  -Z1*exp(j*k2*d2)/Z2];
    T3=[exp(-j*k3*d3)  exp(j*k3*d3);Z2*exp(-j*k3*d3)/Z3  -Z2*exp(j*k3*d3)/Z3];
    T4=[exp(-j*k4*d4)  exp(j*k4*d4);Z3*exp(-j*k4*d4)/Z4  -Z3*exp(j*k4*d4)/Z4];
    T5=[exp(-j*k5*d5)  exp(j*k5*d5);Z4*exp(-j*k5*d5)/Z5  -Z4*exp(j*k5*d5)/Z5];
    T6=[exp(-j*k6*d6)  exp(j*k6*d6);Z5*exp(-j*k6*d6)/Z6  -Z5*exp(j*k6*d6)/Z6];
    S= T6^-1*T1*T5^-1*T1*T4^-1*T1*T3^-1*T1*T2^-1*T1-exp(x).*I;
    T=det(S);
    xi=solve(T);
    xi=double(xi);
    xi1(n,: )=real(xi);
    xi2(n,: )=imag(xi);
end
plot(f, xi1)
8楼2010-03-04 23:53:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zhangzg698958 的主题更新
提示: 如果您在30分钟内回复过其他散金贴,则可能无法领取此贴金币
普通表情 高级回复(可上传附件)
信息提示
请填处理意见