How do I change only one variable in an equation and plot the response for this equation on a graph for all of the different values of this one variable?

5 次查看(过去 30 天)
Trying to plot a resonance curve, but using multiple vlues for the damping ratio variable. I know and can successfully plot the resonance curves individually but how do i write the script so that it knows to change the damping ratio value and plot each response for each of the different damping ratios on one graph?
I tried setting it up as an array i.e. DR = [0, 0.2, 0.4, 0.6, 0.8];
but it just came up with the error "Arrays have incompatible sizes for this operation".
Here is part of my code for just one damping ratio value.
DR = 0; % Damping ratio
A = (F/K) ./ sqrt(((1 - (r.^2)).^2) + (4.*DR.^2.*r.^2));

回答(2 个)

Catalytic
Catalytic 2023-3-29
编辑:Catalytic 2023-3-29
F=1;K=1;
DR = [0, 0.2, 0.4, 0.6, 0.8];
r=linspace(0,5)';
A = (F/K) ./ sqrt(((1 - (r.^2)).^2) + (4.*DR.^2.*r.^2));
plot(r,A); xlabel r;ylabel A; legend("DR="+DR)

Torsten
Torsten 2023-3-29
移动:Torsten 2023-3-29
So you want to plot A against r for different values of DR ?
F = 1.0;
K = 1.0;
r = 0:0.01:1;
DR = [0.1, 0.2, 0.4, 0.6, 0.8].';
A = (F/K) ./ sqrt(((1 - (r.^2)).^2) + (4.*DR.^2.*r.^2));
plot(r,A)
grid on

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by