作业帮 > 综合 > 作业

上述公式的matlab语言怎么编写?

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/05/04 20:59:09
上述公式的matlab语言怎么编写?

上述公式的matlab语言怎么编写?

变量是B,μr和字母l,其他量μ0和w已知,求matlab编写的程序
上述公式的matlab语言怎么编写?
%用匿名函数编写如下
Px = @(B,miu0,miur,omige,l)(B^2*3*(miur-1)*sqrt(2)*omige*l^3/(2*miu0*(3*(2+miur)+...
    2*(miur-1)*sqrt(2)*omige*l^3)));
%带入B,miu0,miur,omige,l参数
f0 = Px(1,1,3,1,1)
再问: 谢谢,我是matlab 小白,就有个实验数据需要用到一下,所以想要直接能用的编写程序,谢谢大神
再答: 上面这个函数就可以直接用,我这里都给你当成变量了,如果是常量的话你也当一个变量带入就行了,比如上面定义完Px函数之后,下面那条语句的结果为f0 =
    0.2054明白了吧,你只有对应的将数据带入就可以得到结果了。

再问: 明白了非常感谢,那我如果要绘制三维图呢?比如B,μr,μ0是常量,w和字母l是变量。B=0.5,μr=500,μ0=0.00000126.w取值范围是0~1,字母l是0.1~0.38。
再答: %我这里使用for循环分别计算各个点的值,是比较笨的方法
%但是对新手来说理解起来应该是比用矩阵直接操作来的快些
clear
clc
%定义函数
Px = @(B,miu0,miur,omige,l)(B^2*3*(miur-1)*sqrt(2)*omige*l^3/(2*miu0*(3*(2+miur)+...
    2*(miur-1)*sqrt(2)*omige*l^3)));
%预分配空间
Px0 = zeros(50,50);
%定义w,l范围
w = linspace(0,1,50);
l = linspace(0.1,0.38,50);
%计算对应的值
for fi = 1:50
    for fj = 1:50
        Px0(fi,fj) = Px(0.5,0.00000126,500,w(fi),l(fj));
    end
end
%生成网格参数
[ww,ll] = meshgrid(w,l);
%绘图
surf(ww,ll,Px0)