How to plot solutions for different values of parameters on same file?

1 回表示 (過去 30 日間)
Wajahat
Wajahat 2020 年 4 月 14 日
回答済み: Vedant Shah 2025 年 6 月 30 日
How to plot solutions for different values of parameters on same file i..e,
close all;
X=-5:.1:5;
T=-5:.1:5;
%i=1;
w0=.5;
%h=3;
eta=(1./2);
sig=-1;
e0=2*w0*sqrt(eta-sig);
mu1=.5*1i;
[x,t]=meshgrid(X,T);
%a=4*mu1.^2-(w0.^2./2);
A=(1./(-2*w0.^2+2*mu1.^2)*sqrt(e0.^2-4*mu1.^2).*((-2*w0.^2+2*mu1.^2)*x+t));
a=e0*sinh(A)-2*1i*mu1;
b=e0+2*1i*mu1*sinh(A);
r1=e0-4*1i*mu1*(a./b);
surf(x,t,abs(r1));
shading flat;
grid off;
How to plot 'r1' for different values of 'mu1' on same figure like this

回答 (1 件)

Vedant Shah
Vedant Shah 2025 年 6 月 30 日
To plot solutions for different values of a parameter on the same figure, the hold function in MATLAB can be utilized. By looping through various values of mu1, calculating r1 for each, and plotting the corresponding surface using the surf function, it is possible to visualize multiple solutions simultaneously. Assigning distinct colours to each surface and adding a legend increases the interpretability of the plot.
The following sample code demonstrates this approach:
mu1_list = [0.5i, 1i, 1.5i];
figure;
hold on;
colors = lines(length(mu1_list));
for k = 1:length(mu1_list)
mu1 = mu1_list(k);
A = (1./(-2*w0.^2 + 2*mu1.^2) * sqrt(e0.^2 - 4*mu1.^2) .* ((-2*w0.^2 + 2*mu1.^2)*x + t));
a = e0 * sinh(A) - 2*1i*mu1;
b = e0 + 2*1i*mu1 * sinh(A);
r1 = e0 - 4*1i*mu1 * (a ./ b);
surf(x, t, abs(r1), 'FaceAlpha', 0.6, 'EdgeColor', 'none', 'FaceColor', colors(k,:));
end
shading flat;
grid off;
xlabel('x');
ylabel('t');
zlabel('|r_1|');
title('Solutions for different values of \mu_1');
legend(arrayfun(@(m) sprintf('\\mu_1 = %.1fi', imag(m)), mu1_list, 'UniformOutput', false));
hold off;
The result obtained using the above sample code is as follows:
The resulting figure displays the surfaces corresponding to different values of mu_1 on the same axes, each distinguished by a unique colour and identified in the legend.
For further information, refer to the following documentations:

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by