Matlab怎么把一个常数改成变量,并且能继续运行接下来的函数

如题
global M B K % bridge parameters
M = 1.13e05; % mass
B = 1.10e04; % damping
K = 4.73e06; % stiffness
......
而现在B变成了
zeta=0:0.1:1
B=zeta*sqrt(4*M*K)

在程序中应该怎么改,而又不影响接下来的函数运算呢?
并且我想把产生的所有图形都放在一个图中,从而分析一种趋势,该怎么做呢?

matlab 是弱类型语言 global声明的是全局变量 你这里不怎么需要改动

把所有图放在一个图中,有两种方式 , 你看看哪种适用
使用 subplot 把所有的图都变成子图 , 然后把这些子图放在一个大图里面

画完一个图以后 利用hold on 语句 表示在当前图中继续画图 然后调用 plot语句 继续 执行hold on 直到所有的图都画完
具体的使用方法 你可以去查资料
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-01
你先自己写一个封装好一个函数
function y = fun(M, B, K) % 这里假定M、B、K都是标量
...
end
然后这样调用:
Y = 0*B;
for k = 1:length(B)
Y(k) = fun(M, B(k), K);

end
plot(B, Y); % 画B-Y关系