没有合适的资源?快使用搜索试试~ 我知道了~
matlab例题matlab例题.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 83 浏览量
2022-07-05
19:10:47
上传
评论
收藏 218KB DOC 举报
温馨提示
试读
24页
matlab例题matlab例题
资源推荐
资源详情
资源评论
例 7 输入 x,y 的值,并将它们的值互换后输出。
程序如下:
x=input('Input x please.');
y=input('Input y please.');
z=x;
x=y;
y=z;
disp(x);
disp(y);
例 8 求一元二次方程 ax2 +bx+c=0 的根。
程序如下:
a=input('a=?');
b=input('b=?');
c=input('c=?');
d=b*b-4*a*c;
x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];
disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);
例 9 计算分段函数的值。
程序如下:
x=input('请输入 x 的值:');
if x<=0
y= (x+sqrt(pi))/exp(2);
else
y=log(x+sqrt(1+x*x))/2;
end
例 10 输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出
其对应的大写字母;若为数字字符则输出其对应的数值,若为其他字符则原样输出。
c=input('请输入一个字符','s');
if c>='A' & c<='Z'
disp(setstr(abs(c)+abs('a')-abs('A')));
elseif c>='a'& c<='z'
disp(setstr(abs(c)- abs('a')+abs('A')));
elseif c>='0'& c<='9'
disp(abs(c)-abs('0'));
else
disp(c);
end
例 11 某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用 price 来表示):
price<200 没有折扣
200≤price<500 3%折扣
500≤price<1000 5%折扣
1000≤price<2500 8%折扣
2500≤price<5000 10%折扣
5000≤price 14%折扣
输入所售商品的价格,求其实际销售价格。
程序如下:
price=input('请输入商品价格');
switch fix(price/100)
case {0,1} %价格小于 200
rate=0;
case {2,3,4} %价格大于等于 200 但小于 500
rate=3/100;
case num2cell(5:9) %价格大于等于 500 但小于 1000
rate=5/100;
case num2cell(10:24) %价格大于等于 1000 但小于 2500
rate=8/100;
case num2cell(25:49) %价格大于等于 2500 但小于 5000
rate=10/100;
otherwise %价格大于等于 5000
rate=14/100;
end
price=price*(1-rate) %输出商品实际销售价格
例 12 矩阵乘法运算要求两矩阵的维数相容,否则会出 错。先求两矩阵的乘积,若出错,
则自动转去求两矩阵的点乘。
程序如下:
A=[1,2,3;4,5,6]; B=[7,8,9;10,11,12];
try
C=A*B;
catch
C=A.*B;
end
C
lasterr
例 13 一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙
花数。
程序如下:
for m=100:999
m1=fix(m/100); %求 m 的百位数字
m2=rem(fix(m/10),10); %求 m 的十位数字
m3=rem(m,10); %求 m 的个位数字 rem 求余数
if m==m1*m1*m1+m2*m2*m2+m3*m3*m3
disp(m)
end
end
例 14 已知 ,当 n=100 时,求 的值。
程序如下:
程序如下:
y=0;
n=100;
for k=1:n
y=y+1/(2*k-1);
end
y
例 16 从键盘输入若干个数,当输入 0 时结束输入,求
这些数的平均值 和它们之和。
程序如下:
sum=0;
cnt=0;
val=input('Enter a number (end in 0):');
while (val~=0)
sum=sum+val;
cnt=cnt+1;
val=input('Enter a number (end in 0):');
end
if (cnt > 0)
sum
mean=sum/cnt
end
例 17 若一个数等于它的各个真因子之和,则称该数为完数,如 6=1+2+3,所以 6 是完数。
求[1,500]之间的全部完数。
for m=1:500
s=0;
for k=1:m/2
if rem(m,k)==0 %rem 求 m/k 的余数
s=s+k;
end
end
if m==s
disp(m);
end
end
例 18 求[100,200]之间第一个能被 21 整除的整数。
程序如下:
for n=100:200
if rem(n,21)~=0
continue
end
break
end
n
例 19:函数的递归调用
编写函数 nj 计算自然数 n 的阶乘
function y=nj(n)
%y=nj(n)计算 n 的阶乘
%输入参数 n 是自然数
%输出参数 y 是 n 的阶乘
if(n<0)|(floor(n)~=n)%如果输入参数不是自然数
error('输入参数必须是自然数')%则显示出错信息
end
if n==0
y=1;
elseif n==1
y=1;
else
y=n*nj(n-1);
end
例 20 猜数游戏。首先由计算机产生[1,100]之间的随机整数,然后由用户猜测所产生的随
机数。根据用户猜测的情况给出不同提示,如猜测的数大于产生的数,则显示“High”,小
于则显示“Low”,等于则显示“You won”,同时退出游戏。用户最多可以猜 7 次。
程序如下:
%Play the game of guess the number
x=fix(100*rand); %a random number calculated by the computer
n=7;
test=1;
for k=1:7
numb=int2str(n);
disp(['You have a right to ',numb,' guesses'])
disp(['A guess is a number between 0 and 100'])
guess=input('Enter your guess:');
if guess<x
disp('Low')
elseif guess>x
disp('High')
else
disp('You won')
test=0;
break;
end
n=n-1;
end
if test==1
disp('You lost')
end
例 21 : 递推与递归
核反应堆中有 A 和 B 两种粒子,每秒中内 1 个 A 粒子分裂成
3 个 B 粒子,而 1 个 B 粒子分裂成 1 个 A 粒子和 2 个 B 粒子。
若在时刻 t=0 反应堆中只有 1 个 A 粒子,问 t=20 时反应堆中
有多少个 A 粒子?多少个 B 粒子?共有多少个粒子?
function [outf,outg,outfg]=fg(x)
%函数[outf,outg,outfg]=fg(x)计算 A 粒子与 B 粒子的个数
%输入参数 x 是自然数
%输出参数 outf 是 A 粒子个数
%输出参数 outg 是 B 粒子个数
%输出参数 outfg 是 A 粒子和 B 粒子的总数
%主函数
[m,n]=size(x);%输入参数 x 的行数和列数
if (m~=1)|(n~=1)|(x<0)|(round(x)~=x) %如果输入参数不是自然数
y=[]; %输出为空
disp('输入参数应为自然数'); %显示出错
elseif x>=0
outf=f(x);
outg=g(x);
outfg=outf+outg;
end
function y=f(x);
%子函数,计算 A 粒子
if x==0
y=1;
elseif x>0
y=g(x-1);
end
function y=g(x);
%子函数,计算 B 粒子
if x==0
y=0;
elseif x>0
y=3*f(x-1)+2*g(x-1);
end
例 4-3 在 0≤x≤2�区间内,绘制曲线
y=2e-0.5xcos(4πx)
程序如下:
x=0:pi/100:2*pi;
y=2*exp(-0.5*x).*cos(4*pi*x);
plot(x,y)
例 4-6 用不同标度在同一坐标内绘制曲线 y1=0.2e-0.5xcos(4πx) 和 y2=2e-0.5xcos(πx)。
程序如下:
x=0:pi/100:2*pi;
剩余23页未读,继续阅读
资源评论
老帽爬新坡
- 粉丝: 82
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 批量word文件内容替换工具1.0 (批量实现多个 Word 文档文件文字替换利器).exe
- Cartoon GUI Pack 1.2.zip
- 【数据集和代码】基于加速度传感器的步态识别行人分类实验(可做步态识别)
- 我分享个魔兽内存修改器
- Python毕业设计基于Django的网易云数据分析可视化大屏系统的设计与实现+使用说明+全部资料(优秀项目).zip
- mp3 idv2,idv1,frame分析工具
- Python毕业设计基于Django的网易云数据分析可视化大屏系统的设计与实现+使用说明+全部资料(高分项目).zip
- 人工兔优化算法ARO MATLAB源码, 应用案例为函数极值求解以及优化svm进行分类,代码注释详细,可结合自身需求进行应用
- 人才网站设计-asp.net+sql-(系统源码)
- asp.net+sql人才网站设计-含系统源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功