Plotting in Matlab with Range for Independent Variable
4 ビュー (過去 30 日間)
古いコメントを表示
I'm creating a simple model of a spring-mass system and am trying to plot the amplitude as a function of the spring constant. I'm using the equation natural frequency = s=sqrt(k/m), where k is the spring constant and m is the mass. Also, amplitude = sqrt(natural frequency^2 + initial position^2)/natural frequency.
I'm not getting any errors, but I'm getting an empty plot and an "answer" in the command window that I do not need.
The code I have so far is:
function A = amp(k)
g = 4; %initial position
m = 2; %mass
k = 0.05:0.1:0.3; %range of spring constant
A = sqrt((sqrt(k/m)).^2+16)/(sqrt(k/m));
figure(3)
plot(k,A);
end
I'd appreciate it if someone could take a closer look at the code.
0 件のコメント
採用された回答
Star Strider
2019 年 12 月 19 日
You need to use element-wise operations in the division:
A = sqrt((sqrt(k/m)).^2+16)./(sqrt(k/m));
↑
Try this:
g = 4; %initial position
m = 2; %mass
k = 0.05:0.01:0.3; %range of spring constant
A = sqrt((sqrt(k/m)).^2+16)./(sqrt(k/m));
figure(3)
plot(k,A);
I also increased the number of elements in ‘k’.
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Assembly についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!