求解怎么写这个问题的matlab程序?非常急,求大神帮忙

2024-04-29

1. 求解怎么写这个问题的matlab程序?非常急,求大神帮忙

x=1.5;
xk=(0.8+x^2)^(1/3);
while abs(x-xk)>0.0001
    x=xk;
    xk=(0.8+x^2)^(1/3);
end
disp(xk);
x=1.5;
xk=(x^3-0.8)^(1/2);
while abs(x-xk)>0.0001
    x=xk;
    xk=(x^3-0.8)^(1/2);
end
disp(xk);
运行结果为:
    1.4052

   Inf
可见,第二个公式是不收敛的。
希望采纳,设置为满意答案,谢谢。

求解怎么写这个问题的matlab程序?非常急,求大神帮忙

2. matlab编程,跪求大佬解答

题主给出方程可以使用数值分析的方法来解决。由于该方程是一个比较特殊的方程,应考虑合适的数值方法(如弦截法),分析该方程求和式,可以发现x在100-1000之间有最大值,其值 x=732.79727,y = -5.55e-16。
实现思路:
1、自定义f(x)函数,其内容①利用symsum函数求Σ值;②利用eval函数计算f(x)值
2、自定义secant弦截法函数,根据弦截法的迭代公式编写。
3、运行主代码
x0=100.5;x1=1205;tol=1e-4; %tol误差
x=secant(x0,x1,tol)
y=fun(x)  %验证y是否等于0
4、运行结果


3. matlab问题,求大神指教

问题出在自定义函数上,点运算符不完整,而导致错误使用  *(内部矩阵维度必须一致)。 完整的自定义函数为fun3=@(x,y,z)z.^2.*log(x.^2+y.^2+z.^2+1)./(x.^2+y.^2+z.^2+1)另外还存在的问题是1、自定义函数fun3,后面附带约束条件是不正确的,可以去掉。2、变量z的积分区间,应该为约束函数,即zmin=0;zmax= @(x,y)sqrt(1-x.^2-y.^2);3、处理后的代码fun3=@(x,y,z)z.^2.*log(x.^2+y.^2+z.^2+1)./(x.^2+y.^2+z.^2+1)%.*(z>=0&z<=sqrt(1-x.^2-y.^2));xmin=-1;xmax=1;ymin=-1;ymax=1;zmin=0;zmax=@(x,y)sqrt(1-x.^2-y.^2);I=integral3(fun3,xmin,xmax,ymin,ymax,zmin,zmax)4、最后,你还得检查一下,ymin,ymax;zmin,zmax的约束函数是否正确

matlab问题,求大神指教

4. matlab问题,求大神指教

问题出在自定义函数上,点运算符不完整,而导致错误使用  *(内部矩阵维度必须一致)。 
完整的自定义函数为
fun3=@(x,y,z)z.^2.*log(x.^2+y.^2+z.^2+1)./(x.^2+y.^2+z.^2+1)
另外还存在的问题是
1、自定义函数fun3,后面附带约束条件是不正确的,可以去掉。
2、变量z的积分区间,应该为约束函数,即
zmin = 0;
zmax = @(x,y) sqrt(1 - x.^2 - y.^2);
3、处理后的代码
fun3=@(x,y,z)z.^2.*log(x.^2+y.^2+z.^2+1)./(x.^2+y.^2+z.^2+1) %.*(z>=0 & z<=sqrt(1-x.^2-y.^2));
xmin = -1;xmax = 1;
ymin = -1;ymax = 1;
zmin = 0;zmax = @(x,y) sqrt(1 - x.^2 - y.^2);
I=integral3(fun3,xmin,xmax,ymin,ymax,zmin,zmax)

4、最后,你还得检查一下,ymin,ymax ;zmin ,zmax 的约束函数是否正确

5. 求大神指点,matlab问题


求大神指点,matlab问题

6. 关于matlab的问题请大神解答

 syms x
y=x/(1+4.2827*x^2)^2;
 dy=diff(y);
a= solve(dy==0);
aa=double(a);

aa就是极值点   我算的结果是
 0.2790
-0.2790

这是f(x)的图像

7. 关于matlab的问题请大神解答

代码如下:
clear
clc
%首先定义符号变量
syms x m
y = sym('x/(1+m*x^2)^2');
%求其一阶导数
diff1 = diff(y,1,x);
%解出一阶导为零的点,这里解出的x0为有两个元素的数组,分别是极大值和极小值
%x0(1) = ((4*m)/3)^(1/2)/(2*m)
%x0(2) = -((4*m)/3)^(1/2)/(2*m)
x0 = solve(diff1,x);
%我这里将x0带到一阶导中,验算一下是不是为零,结果正确,这一步可以省略
% subs(diff1,x,x0(1));
% subs(diff1,x,x0(2));
%然后求二阶导,来判断这两个极点,哪个是极大值点哪个是极小值点。
%二阶导小于零为极大值点,二阶导大于零为极小值点
diff2 = diff(diff1,1,x);
%哪个点为极大值,哪个点为极小值和m有关,这里假设m为4
m0 = 4;
%循环判断极值点二阶导0,为极小值
for fi = 1:size(x0,1)
    x21 = subs(diff2,x,x0(fi));
    xm1 = subs(x21,m,m0);
    jz1 = eval(xm1);
    x01 = subs(x0(fi),m,m0);
    re1x = eval(x01);
    y01 = subs(y,{x,m},{re1x,m0});
    re1y = eval(y01);
    if jz1 < 0
        fprintf('x在%f取到极大值点为%f\n',re1x,re1y);
    else
        fprintf('x在%f取到极小值点为%f\n',re1x,re1y);
    end
end
%这里你只要输入不同的m,就可以得到不同的极值点结果了
%下面是绘图验证一下
xx = linspace(-3,3,100);
yy = subs(y,{x,m},{xx,m0});
plot(xx,yy)
hold on
plot(0.288675,0.162380,'*','MarkerSize',10)
plot(-0.288675,-0.162380,'*','MarkerSize',10)
结果如下:
x在0.288675取到极大值点为0.162380
x在-0.288675取到极小值点为-0.162380

关于matlab的问题请大神解答

8. 求用matlab解下面问题的程序 附带详细解说就更好了

由题意知F(t)=-F0/T*t+F0
在t时刻的加速度为a(t)=F(t)/m.
所以:

matlab 程序:
 
syms F0 T m ta_t=(-F0/T*t+F0)/m;v_t=int(a_t);%初速度为0,所以积分常数C为0expand(v_t)s_t=int(v_t);%初位移为0,所以积分常数C为0expand(s_t)
 
 
结果:
v_t = (F0*t)/m - (F0*t^2)/(2*T*m)  s_t = (F0*t^2)/(2*m) - (F0*t^3)/(6*T*m)
 
希望对你有帮助
最新文章
热门文章
推荐阅读