这样:
clc,clear,close all
x = -5:1:5;
y(x>=1) = 3x(x>=1)^2+1;
y(x>-1 && x<1) = 0;
y(x<=-1) = -x(x<=-1)^3+2;
figure,plot(x,y)
扩展资料:
注意事项
语法
if expression
statements
end
描述
MATLAB计算表达式,如果产生一个逻辑真或者非零结果,然后就执行一条或者多条MATLAB命令语句。
当有嵌套if时,每一个if必须和一个相应的end匹配。
当你在if语句里面嵌套使用else if或者else时,一般的格式如下:
if expression1
statements1
elseif expression2
statements2
else
statements3
end
参考代码:
f=@(t)quadl(@(x)37415e8x^-5(27183^(143879e4/(xt))-1)^(-1),75,14)0975/pi-2167;ezplot(f,[eps 500])
t0=fzero(f,10)
hold on
plot(t0,f(t0),'ro')
plot(xlim,[0 0],'g--')
hold off
求出的t值为(不太清晰,里面部分数据可能不准确,请自行检查)
t0 =4130115
Len = @(A,B,C) sqrt(sum([(B-C)^2; (C-A)^2; (A-B)^2],2));
A = [2,5,6]; B = [11,3,8]; C = [5,1,11];
Len(A,B,C)%角点ABC分别对应的边长
结果:
ans =70000
70711
94340
Set oDoc = ActiveDocument
Set oTable= oDocTablesAdd(Range:=oDocRange(Start:=0, End:=0), NumRows
:=3,NumColumns:=4)
iCount = 1
For Each oCell In oTableRangeCells
oCellRangeInsertAfter "第 "& iCount & "单元格 "
iCount = iCount + 1
Next oCell
oTableAutoFormat Format:=wdTableFormatColorful2,ApplyBorders:=True, App
lyFont:=True, ApplyColor:=True
小括号中逗号前后是二维索引,中括号中则是个一维索引。
[n 1:n-1]就是先取最后一个值,然后从第一个开始取值至倒数最后一个。
(1:n,[n 1:n-1])是个二维数组的索引。
function [x, k, index]=Jacobi(A, b, ep, it_max)
% 求解线性方程组的Jacobi迭代法,其中
% A --- 方程组的系数矩阵
% b --- 方程组的右端项
% ep --- 精度要求。省缺为1e-5
% it_max --- 最大迭代次数,省缺为100
% x --- 方程组的解
% k --- 迭代次数
% index --- index=1表示迭代收敛到指定要求;
% index=0表示迭代失败
if nargin <4 it_max=100; end %输入参数少于4时,默认最大迭代次数为100
if nargin <3 ep=1e-5; end %输入参数少于3时,默认精度要求为1e-5
n=length(A); %矢量或矩阵A的列长度,即方程的个数
k=0; %初值为0
x=zeros(n,1); y=zeros(n,1); index=1;%初值设置
while 1 %while-end 循环开始
for i=1:n %i循环次数
y(i)=b(i); %给y赋值
for j=1:n %j循环次数
if j~=i %条件判断,j≠i时,
y(i)=y(i)-A(i,j)x(j); %y(i)的值修改
end
end
if abs(A(i,i))<1e-10 || k==it_max %A的主对角线元素的绝对值小于1e-10或k=最大迭代次数时,
index=0; return; %表明迭代失败
end
y(i)=y(i)/A(i,i); %判断,j=i时,y(i)的值修改
end
if norm(y-x,inf)<ep %判断,y-x的无穷范数小于精度要求,
break; %返回下一步,继续计算
end
x=y; k=k+1; %x得到y值,计算总迭代次数k
end %while-end 循环结束
1、A=pi/3[0:6]: 产生0°、60°、120°360°共7个角度值。
2、rexp(iy)是一个复数的指数表达方式,对应平面中的一个点,设为Z,相应的y为向量OZ与X轴正向的夹角,r为向量OZ的模。
因此plot(rexp(iA),'k','linewidth',2);表示在平面上依次绘制7个点,并连线,连线宽度为2,颜色为'k'。最终图形g1为一正6边形。
3、real(rexp(iA))、imag(rexp(iA))分别取出6边形顶点的x、y坐标值(对应于复数的实部real、虚部imag)。然后用fill函数填充区域,set(g1,'FaceColor',[1,05,0])设置颜色。
4、g2与g1大同小异,只是半径rc、角度aa与g1不同。由于所有点的半径都为rc,因此g2为图形为圆。
5、text(0,0,'1','fontsize',10);在圆点处添加数字1。
这是我的理解,供你参考。
matlab的fsolve函数可以这样来改所求的函数。
1、用函数体,自定义所求的函数。即
function y=fun(x)
具体的函数表达式
end
2、初定x的初值,即
x0=[x01,x02,x03,]
3、用fsolve函数求其数值解,即
[x,fval,exitflag] =fsolve(fun,x0)
当exitflag=1时,说明求解成功。x是方程的数值解,fval是函数值
以上就是关于用matlab求分段函数程序全部的内容,包括:用matlab求分段函数程序、请问,用MATLAB怎么编写程序求出t值,关于积分解方程,谢谢大家。、求大神解答怎么用Matlab编写程序求已知顶点的三角形各边的长,题目如下。万分感谢!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)