matlab 我是菜鸟,比如一个标准的二阶传递函数G(S)=ωn^2/(S^2+2*ζ*ωn*S+ωn^2)由于过程需要 ωn ζ 取很多值 能不能将这个传递函数编成一个函数,要用的时候调用就可以了(能不能用function语句实现?
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/30 00:22:02
![matlab 我是菜鸟,比如一个标准的二阶传递函数G(S)=ωn^2/(S^2+2*ζ*ωn*S+ωn^2)由于过程需要 ωn ζ 取很多值 能不能将这个传递函数编成一个函数,要用的时候调用就可以了(能不能用function语句实现?](/uploads/image/z/14239374-6-4.jpg?t=matlab+%E6%88%91%E6%98%AF%E8%8F%9C%E9%B8%9F%2C%E6%AF%94%E5%A6%82%E4%B8%80%E4%B8%AA%E6%A0%87%E5%87%86%E7%9A%84%E4%BA%8C%E9%98%B6%E4%BC%A0%E9%80%92%E5%87%BD%E6%95%B0G%28S%29%3D%CF%89n%5E2%2F%28S%5E2%2B2%2A%CE%B6%2A%CF%89n%2AS%2B%CF%89n%5E2%29%E7%94%B1%E4%BA%8E%E8%BF%87%E7%A8%8B%E9%9C%80%E8%A6%81+%CF%89n+%CE%B6+%E5%8F%96%E5%BE%88%E5%A4%9A%E5%80%BC+%E8%83%BD%E4%B8%8D%E8%83%BD%E5%B0%86%E8%BF%99%E4%B8%AA%E4%BC%A0%E9%80%92%E5%87%BD%E6%95%B0%E7%BC%96%E6%88%90%E4%B8%80%E4%B8%AA%E5%87%BD%E6%95%B0%2C%E8%A6%81%E7%94%A8%E7%9A%84%E6%97%B6%E5%80%99%E8%B0%83%E7%94%A8%E5%B0%B1%E5%8F%AF%E4%BB%A5%E4%BA%86%EF%BC%88%E8%83%BD%E4%B8%8D%E8%83%BD%E7%94%A8function%E8%AF%AD%E5%8F%A5%E5%AE%9E%E7%8E%B0%3F)
matlab 我是菜鸟,比如一个标准的二阶传递函数G(S)=ωn^2/(S^2+2*ζ*ωn*S+ωn^2)由于过程需要 ωn ζ 取很多值 能不能将这个传递函数编成一个函数,要用的时候调用就可以了(能不能用function语句实现?
matlab 我是菜鸟,比如一个标准的二阶传递函数G(S)=ωn^2/(S^2+2*ζ*ωn*S+ωn^2)
由于过程需要 ωn ζ 取很多值 能不能将这个传递函数编成一个函数,要用的时候调用就可以了(能不能用function语句实现?)
matlab 我是菜鸟,比如一个标准的二阶传递函数G(S)=ωn^2/(S^2+2*ζ*ωn*S+ωn^2)由于过程需要 ωn ζ 取很多值 能不能将这个传递函数编成一个函数,要用的时候调用就可以了(能不能用function语句实现?
这个很容易用function语句实现,首先说明一下,MATLAB中不识别ζ,这里用a代替ζ,这并不影响其它.
在M文件中,输入并保存.
function f=G(wn,a)
syms S
f=wn.^2./(S^2+2*a.*wn.*S+wn.^2);
end
在命令窗口中,输入:
G(wn,a)
就可以得到你想要的结果了.
如:输入 G(2,3)
其结果为:4/(S^2 + 12*S + 4)
输入 wn=[1,2,3];
a=[2,3,4];
G(wn,a)
其结果为:
[ 1/(S^2 + 4*S + 1),4/(S^2 + 12*S + 4),9/(S^2 + 24*S + 9)]
可以。如果我没理解错的话,wn,ζ可以取成向量,向量的元素就是你的值,做算法的时候用数组运算就可以了。
function f=G(wn,ζ) (ζ不知道matlab能不能接受,如果不行换一个就好)
f=wn.^2/(s.^2+2*ζ.*wn+wn.^2)
在命令窗口,输入
wn=[1,2,3];ζ=[1,2,3]
G(wn,ζ)
就可以得到对应的结果...
全部展开
可以。如果我没理解错的话,wn,ζ可以取成向量,向量的元素就是你的值,做算法的时候用数组运算就可以了。
function f=G(wn,ζ) (ζ不知道matlab能不能接受,如果不行换一个就好)
f=wn.^2/(s.^2+2*ζ.*wn+wn.^2)
在命令窗口,输入
wn=[1,2,3];ζ=[1,2,3]
G(wn,ζ)
就可以得到对应的结果
收起