Matlab vpasolve求解方程组后怎么绘制图像,求助各位大佬。
5 ビュー (過去 30 日間)
古いコメントを表示
在线庄闲游戏网站【gb2032 .com】
2022 年 10 月 14 日
回答済み: 真人庄闲游戏平台【gb2032 .com】
2022 年 10 月 14 日
clc;
clear;
syms fx imax t n V Lm R fr fs Ta k immax;
fr=76e3;
Lm=80e-6;
n=0.7;
V=53.7;
R=50
fs=150e3;
Vin=200;
Lr=32e-6;
k=Vin/Lr;
a=asin(n*V/(4*Lm*imax*fs));
immax=n*V/(4*Lm*fs);
fx=imax*sin(2*pi*fr*t-a)-(n*V/Lm*t-n*V/(4*Lm*fs));
F1=2*int(fx,t,0,(1/(2*fs)))-Ta^2*k/2-V./(2.*n.*R.*fs)
F2=imax*sin(2*pi*fr*(1/2/fs-Ta)-a)-immax;
eqns=[F1==0,F2==Ta*k];
vars=[imax,Ta]
[imax,Ta]=vpasolve(eqns,vars,[-inf inf;0 1/4/fs])
这是单次计算的程序,现在想要绘制在变量R和fs变化情况下,Z轴为imax的三维图像,试了很多方法无效,求助各位大佬。
0 件のコメント
採用された回答
真人庄闲游戏平台【gb2032 .com】
2022 年 10 月 14 日
把当前代码改写成可调用函数
然后循环调用最后绘图就是了
R = 42:1:58;
fs = 142e3:1e3:158e3;
imax = zeros(numel(R),numel(fs));
for ii = 1:1:numel(R)
for jj = 1:1:numel(fs)
imax(ii,jj) = MyCal(R(ii),fs(jj));
disp([ii,jj])
end
end
[R, fs] = meshgrid(R,fs);
surf(R,fs,imax);
xlabel('R'); ylabel('fs'); zlabel('imax');
function imax = MyCal(R,fs)
syms imax t Ta
fr=76e3;
Lm=80e-6;
n=0.7;
V=53.7;
Vin=200;
Lr=32e-6;
k=Vin/Lr;
a=asin(n*V/(4*Lm*imax*fs));
immax=n*V/(4*Lm*fs);
fx=imax*sin(2*pi*fr*t-a)-(n*V/Lm*t-n*V/(4*Lm*fs));
F1=2*int(fx,t,0,(1/(2*fs)))-Ta^2*k/2-V./(2.*n.*R.*fs);
F2=imax*sin(2*pi*fr*(1/2/fs-Ta)-a)-immax;
eqns=[F1==0,F2==Ta*k];
vars=[imax,Ta];
[imax,~]=vpasolve(eqns,vars,[-inf inf;0 1/4/fs]);
end
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Calculus についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!