求matlab代码

来自:    更新日期:早些时候
求MATLAB函数代码~

题主给出的函数为分段函数,在matlab中可以用代码来实现:
1、首先,建立自定义分段函数,piecewise_fun(x),并保存为piecewise_fun.m文件。piecewise_fun(x)函数的内容,为
function y=piecewise_fun(x)
n=length(x);
for i=1:n
if x(i)>=0 & x(i)<=1
y(i)=x(i);
elseif x(i)>1 & x(i)<=2
y(i)=2*x(i)-1;
elseif x(i)>2
y(i)=x(i).^2-1;
else
y(i)=0;
end
end
end
2、然后在matlab的命令窗口中,执行下来命令
>>x=-10:0.5:10; %例如
>>y=piecewise_fun(x)

>>plot(x,y),grid on
>>xlabel('x'),ylabel('y(x)')



给出的问题缺β值,如β=π/5,则
syms a %a-alpha
b=pi/5; %b-beta
p=a+b; %p-phi
eq1=4*sin(p)*(cos(p)-1.05*sin(p))/(0.2751*(sin(p)-1.05*cos(p)));
eq2=0.368+0.0942*a;
alpha=vpasolve(eq1==eq2)
运行结果
alpha =0.13447409538273029734690280429299

先定义lagrange插值函数,保存以下程序,先保存function到end这一段函数,后面再在命令窗口运行后面的程序
function y=lagrange(x0,y0,x)
ii=1:length(x0); y=zeros(size(x));
for i=ii
ij=find(ii~=i); y1=1;
for j=1:length(ij), y1=y1.*(x-x0(ij(j))); end
y=y+y1*y0(i)/prod(x0(i)-x0(ij));
end

计算

x=[0.4:0.1:0.8];
y=[-0.756291,-0.443147,-0.150826,0.133325,0.416856];
L(0.5674)=lagrange(x,y,0.5674)
得出结果
ans=-0.2447

function [C,L,L1,l]=lagran1(X,Y)
m=length(X);L=ones(m,m);
for k=1:m
V=1;
for i=1:m
if k~=i
V=conv(V,poly(X(i)))/(X(k)-X(i));
end
end
L1(k,:)=V;l(k,:)=poly2sym(V)
end
C=Y*L1;L=Y*l

调用形式:
x=[ ];
y=[ ];
[c,L,L1,l]=lagran1(x,y)


求matlab代码视频

相关评论:
  • 13988815618matlab四元方程求解代码
    戎芝到题主matlab四元方程求解代码,可以使用vpasolve函数来写。第一步:对未知数为a,b,c,d进行声明变量,即 syms a b c d 第二步:创建各不等式和等式方程 eqn1 = a > 0;eqn2 = b > 0;eqn3 = c > 0;eqn4 = d > 0;eqn5 = a+b+c+d==12;eqn6 = 7*a+8*b+9*c+10*d==...

  • 13988815618求这道题的matlab代码,在线等,谢谢大家
    戎芝到可以得到 d=sqrt((x-2)^2+(y-1)^2)=sqrt((x-2)^2+(1\/x-1)^2)=sqrt(x^2+1\/x^2-4x-2\/x+5)然后,我们用matlab语言来自定义该函数,即 d=sqrt(x^2+1\/x^2-4*x-2\/x+5);第二步,对该函数的x求导并使其等于0,即 eq=diff(d)=0 第三步,使用vpasolve函数求得处于第一...

  • 13988815618求大神帮我编写一下matlab代码
    戎芝到T,1)L(i,j) = T(i,j);break;end end U = zeros(size(T));U(logical(eye(size(T))) = T(logical(eye(size(T)));for i = 1:size(T,1)for j = i+1:size(T,1)U(i,j) = T(i,j);break;end end 利用matlab解矩阵方程的遍历直接求解 y = L\\b;x = U\\y;en ...

  • 13988815618matlab代码拜托拜托
    戎芝到stem(n,x+y,'ko');hold on s=2.^n.*(n<-1)+3\/2.*(n==-1)+(2.^(-n-1)+n+1).*(n>=0);stem(n,s,'r.');hold off legend('序列x(n)+序列y(n)','根据公式得到x(n)+y(n)');可以根据x(n)和y(n)的公式,先分别将x(n)序列和y(n)序列求出来,然后求和 也可以...

  • 13988815618求一个简单的matlab程序代码,只要符合要求即可
    戎芝到x=[1 3 5 -1]';n=length(x);for i=1:n;if x(i)>2 y(i)=fun1(x(i));else y(i)=fun2(x(i));end end y 这是主程序。下面两个分别保存成M文件 function y = fun1(x)y=x*x+1;end function y = fun2(x)y=x-1;end ...

  • 13988815618matlab 求代码 求大神指教 在线等可追加分数!!
    戎芝到这个可以,就是精度差了点……MC随机点法 clear;clc;format long;a=-2 ;b=2 ;n=10^2 ;k1=unifrnd(a,b,[1 n]);fun=@(x) exp((x^2+x));for i=1:n c1(i)=fun(k1(i));end c=min(c1-c1(n\/2));d=max(c1+c1(n\/2));k2=unifrnd(c,d,[1 n]);count=0;for ...

  • 13988815618怎么用matlab求这个问题,求编写程序
    戎芝到首先,根据初等数学几何公式,写出V与R、θ的关系式。其二,求V对θ变量的一阶导数,得到V关于θ的表达式。其三,求V对θ变量的二阶导数,得到dV关于dθ的表达式。其四,求d^2V\/dθ^=0的方程,求出θ的值,用于判断θ的极值。最后,根据条件,求出其θ的值 用matlab求的话,可以用下列代码来...

  • 13988815618MATLAB微分方程组求解全部代码
    戎芝到w=100*pi;R=1;L=0.01;t=0:0.000001:2;Us=220.*sqrt(2).*sin(100.*pi.*t).*((1\/6)<100.*t-fix(100.*t)<1);i=dsolve('Di=(Us-R*i)\/L','i(0)=0','t')i = (Us - Us*exp(-(R*t)\/L))\/Ri=(220.*sqrt(2).*sin(100.*pi.*t).*((1\/6)<100.*t-fix...

  • 13988815618MATLAB求分段函数,怎么写代码呀
    戎芝到y=1 y(i)=1;elseif t(i)>=-2 & t(i)<2 %如果t[-2,2)时,y=t²y(i)=t(i).^2;else y(i)=-1; %如果t<-2时,y=-1 end end 2、在命令窗口中调用 >>t=0:0.5:10;>>y=piecewise1(t)3、运行结果 其他类似的分段函数,可以参考上述来写代码。

  • 13988815618Matlab编程?
    戎芝到60个同学抽60个题目且题号各不相同,用matlab实现,需要使用matlab的randperm函数,代码如下:代码和运行截图1 截图效果2 tihao=randperm(60);xuehao=1:60;for i=xuehao;disp(sprintf('学号为%d的同学,恭喜你,抽中第%d题\\n',i,tihao(i)));end;...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网