急求matlab x值在某一区间内,如何编程求解?
作者&投稿:菜强 (若有异议请与网页底部的电邮联系)
help rand
你照着例子写就好了
x=0:0.1:10;
y=3*x+1;
x1=x(y>=4);
y1=3*x1+1;
plot(x,y,'r-',x1,y1,'bo')
按上面语句试试,
z=-0.9*y/(1+2*x);
%求解函数
%四阶龙格库塔常微分方程数值解MATLAB编程
function [y,x]=LK(a,b,y0,N)
%a,b表示数值解的区间
%y0表示初始值
%N表示解的空间密度
x=linspace(a,b,N); %待解x值
h=(b-a)/(N-1); %分成N-1个区间
y=zeros(1,N); %定义长度
y(1)=y0; %初始值
%具体的迭代过程
for i=1:N-1
k1=lkfun(x(i),y(i));
k2=lkfun(x(i)+h/2,y(i)+h*k1/2);
k3=lkfun(x(i)+h/2,y(i)+h*k2/2);
k4=lkfun(x(i)+h,y(i)+h*k3);
y(i+1)=y(i)+h/6*(k1+2*k2+2*k3+k4);
end
disp('常微分方程的数值解:')
disp([x;y])
实例验证 lk(0,1,1,6); %调用已编写的龙格库塔函数LK
常微分方程的数值解:
0 0.2000 0.4000 0.6000 0.8000 1.0000
1.0000 0.8595 0.7676 0.7013 0.6505 0.6099
dsolve('Dy=-0.9*y/(1+2*t)','y(0)=1') %matlab自带求解函数dsolve,进行验证
ans =1/(2*t+1)^(9/20)
t=[0:0.2:1];
1./((2*t+1).^(9/20))
ans =
0 0.2000 0.4000 0.6000 0.8000 1.0000
1.0000 0.8595 0.7676 0.7013 0.6505 0.6100
%发现误差非常小
这是以前写的一个四阶的,自己修改一下应该可以用的
x=-3:0.5:3;
y=2.*x
这样不就行吗
你那个少个.啊。矩阵要点成啊
y=x.^2
>> x=-3:0.5:3;
>> y=2*x.^2
y =
18.0000 12.5000 8.0000 4.5000 2.0000 0.5000 0 0.5000 2.0000 4.5000 8.0000 12.5000 18.0000
x=-3:0.5:3;
y=x.*x
看你的程序是想求y=x*x的值吧?
我来凑个热闹O(-_____,-)O~
错池妇科:minv = -150; maxv = 150; A = (abs(minv)+abs(maxv))*rand(3,4)+minvA =137.1501 -107.4341 87.6622 -139.2865-4.3873 -23.4716 137.8477 104.738890.0841 124.7207 46.7222 130.1980
集贤县19772172085: 用matlab求一元函数在某区间的最大值的方法 急 急 - ?
错池妇科: >> f = inline('-(1-x^3)*sin(3*x)'); % 求最大值的话,取函数的相反数 >> [xmax,fval] = fminbnd(f,-2*pi,2*pi); >> xmax % 最大值对应的xxmax = -3.7505>> fmax=-fval % 求出的最小值再取相反数,就是函数的最大值了fmax = 52.005
集贤县19772172085: 急求大神帮忙:matlab 为什么x=0.1时是计算的x的范围在0.15< x <0.8的值 - ?
错池妇科: 在这种描述下matlab不是按照区间进行判断的,而是每次从左到右只判断一个不等号;比如0.05<= x <0.15的过程应该是0.05<=0.1----ans=1----1<0.15----ans=0------条件不成立0.15< x----ans=0----0 <0.8----ans=1-----条件成立,执行此项 可以通过&符号进行修改:if(0.05<= x &x<0.15)
集贤县19772172085: matlab利用随机投点求一元函数在某个区间的最小值 - ?
错池妇科: 利用matlab求一元函数在某一区间的最小值.工具/原料 电脑 matlab 方法/步骤 1、用“导数为零”法求极值点,具体代码及其结果如下图所示:2、采用优化算法求极小值,具体代码及其结果如下图所示:3、绘制图形观察最小值,下图是代码:4、绘制图形观察最小值,下图是绘制的函数图形:5、据图形观察,重设fminbnd的搜索区间
集贤县19772172085: matlab求解一元四次方程区间值,急,f(x)= - x^4+32x^3 - 208x^2 - 1436x+122860 - ?
错池妇科:[答案] y=@(x)-((16-x).^2*(576-(24-x).^2)./(24-x).^2);[x,fval] = fminunc(y,8)Optimization terminated:relative infinity-norm of gradient less than options.TolFun.x =7.3593fval =-80.6403在x=7.359时取得最大值80....
集贤县19772172085: matlab中有没有求矩阵中元素在某一区间上元素个数之类的函数 - ?
错池妇科: matlab中有没有求矩阵中元素在某一区间上元素个数之类的函数% 统计x中,属于(1,4)区间的元素个数sum(x>1 & x<4)
集贤县19772172085: matlab中fzero fmax fmin 这三个函数具体怎么用?比如求区间【3 6】内x*x - 5的极大值 - ?
错池妇科:[答案] z=fzero('fun',x0) z=fzero(@fname,x0) 在x0附近寻找函数fun的近似根(fname是待求根的函数名)
集贤县19772172085: matlab编程中如何在一定范围内取值 - ?
错池妇科: f1和f2维数不同,不能直接相加.你的目的是得到什么? 查看更多答案>>
集贤县19772172085: MATLAB中求最小值怎么做 如求函数y=e.^x+4x在 - 1到2区间的最小值 - ?
错池妇科:[答案] x=-1:0.001:2; y=exp(x)+4*x; min(y)
集贤县19772172085: 用matlab求解微分方程初值问题数值解和解析解,求解范围为区间.并画出其数值解和解析解曲线. - ?
错池妇科: 用matlab求解微分方程5261初值问题数值解4102和解析解,可以这样处理: 一、数值解 微分方程初值问题数值解可1653以用ode函数求解. 首先,自定义微分方程的函数,即 dy = 3/x*y+x^3*(exp(x)+cos(x))-2*x; 其二,确定初始条件,即 y0=[(...