MATLAB中,输入20个数,求其中最大数和最小数

8611人阅读
Matlab(5)
转载请注明出处:http://blog.csdn.net/yf210yf
b=vpa(a,7)
b = 1.234568
format:设置输出格式 对浮点性变量,缺省为format short. format并不影响matlab如何计算和存储变量的值。对浮点型变量的计算,
即单精度或双精度,按合适的浮点精度进行,而不论变量是如何显示的。对整型变量采用整型数据。
整型变量总是根据不同的类(class)以合适的数据位显示,例如,3位数字显示显示int8范围 -128:127。format short, long不影响整型变量的显示。 format long 显示15位双精度,7为单精度(scaled fixed point) format short 显示5位(scaled fixed point format with 5 digits) format short eng
至少5位加3位指数 format long eng
16位加至少3位指数 format hex
十六进制 format bank
2个十进制位 format +
正、负或零 format rat
有理数近似 format short 缺省显示 format long g
对双精度,显示15位定点或浮点格式,对单精度,显示7位定点或浮点格式。 format short g
5位定点或浮点格式 format short e
5位浮点格式 format long e
双精度为15位浮点格式,单精度为7为浮点格式 Matlab里面显示的数字默认情况下是以short类型进行显示和存储的。但是有时候我们需要对它的显示格式(精度)进行更改,以适合我们的需求。更改方法如下:a=1.&&
b=vpa(a,7)&
b = 1.234568&&
vpa(a,12) &
format:设置输出格式 对浮点性变量,缺省为format short. format并不影响matlab如何计算和存储变量的值。对浮点型变量的计算,即单精度或双精度,按合适的浮点精度进行,而不论变量是如何显示的。对整型变量采用整型数据。整型变量总是根据不同的类(class)以合适的数据位显示,例如,3位数字显示显示int8范围 -128:127。format short, long不影响整型变量的显示。 format long 显示15位双精度,7为单精度(scaled fixed point) format short 显示5位(scaled fixed point format with 5 digits) format short eng & 至少5位加3位指数 format long eng &16位加至少3位指数 format hex & 十六进制 format bank &2个十进制位 format + & & 正、负或零 format rat & 有理数近似 format short 缺省显示 format long g &对双精度,显示15位定点或浮点格式,对单精度,显示7位定点或浮点格式。 format short g &5位定点或浮点格式 format short e &5位浮点格式 format long e &双精度为15位浮点格式,单精度为7为浮点格式&Matlab里面显示的数字默认情况下是以short类型进行显示和存储的。但是有时候我们需要对它的显示格式(精度)进行更改,以适合我们的需求。更改方法如下:
Matlab取整函数有:&fix,&floor,&ceil,&round.取整函数在编程时有很大用处。一、取整函数&1.向零取整(截尾取整)&fix-向零取整(Round&towards&zero);&&&&fix(3.6)&&&&ans&= &&&&&3&2.向负无穷取整(不超过x&的最大整数-高斯取整)&floor-向负无穷取整(Round&towards&minus&infinity);&&&&floor(-3.6)&&&ans&= &&&&-4&3.向正无穷取整(大于x&的最小整数)&ceil-向正无穷取整(Round&towards&plus&infinity);&&&&ceil(-3.6)&&&&ans&= &&&&-3&4.向最近整数取整,四舍五入(四舍五入取整)&round-向最近整数取整,四舍五入(Round&towards&nearest&integer);&&&&round(3.5)&ans&= &&&&&4&&&二、在小数点后某一位四舍五入,即保留几位小数,也经常用到。&1.数值型 roundn—任意位位置四舍五入&&&a=123.4567890;&&&a=roundn(a,-4)&a&= &&123.4568&其中roundn函数功能如下: &&&y&=&ROUNDN(x)&rounds&the&input&data&x&to&the&nearest&hundredth.&&&%不指定n,精确到百分位 y&=&ROUNDN(x,n)&rounds&the&input&data&x&at&the&specified&power&&&&%精确到小数点后指定位数n &2.符号型&digits(4)&vpa(....)&必须说明:vpa命令不能识别整数与小数,只算总位数,因此对它来说小数整数无论哪个都占一位,例如对9.3154保留两位小数时就得写成:&&a=9.3154;&&&digits(3)&&&b=vpa(a)&b= &&&&&9.32&其中b为符号型变量;&3.字符型&&&a=12.34567;&&&b&=&sprintf('%8.2f',a)&b&= &&&12.35 其中b为字符型变量。&&matlab文本输出两个函数:disp&&&&&&&&&&fprintf1、函数disp只带一个变量,他可以是自负矩阵或数值矩阵,要输出简单的文字信息,只需要用单引号将信息括起来:&&disp(‘my favorite color is red’);或者&&yourname=input(‘enter your name’,’s’);&&disp([‘your name is’,youname]);&例如&& yourname = input('enter your name ','s');enter your name panrq&& disp(['your name is ',yourname]);your name is panrq&选择带数值变量值的文本信息时,需要用函数num2str将数值变量的类型转换字符型&& x=98;&& outstring = ['x = ',num2str(x)];&& disp(outstring);x = 98&&&&disp(['x = ',num2str(x)]);x = 98&disp函数只能带一个变量,表格中的各列需奥组合成一个矩阵,如下面的程序所示。&& x=0:pi/5:y=sin(x);&& disp([x' y']);&&&&&&&&&0&&&&&&&&&0&&&&0.6283&&&&0.5878&&&&1.2566&&&&0.9511&&&&1.8850&&&&0.9511&&&&2.5133&&&&0.5878&&&&3.1416&&&&0.0000&Format命令控制显示模式,直到下一个format出现前,这条format命令一直有效。&& x=1.;&&disp(pi);&&&&3.1416&&&disp(pi);&&&3.793&&&disp(pi);&&3.1416e+000&&& format +;disp(pi);+&&&disp(pi);&&&&&&&&&&3.14&2、函数fprintffprintf(format);fprintf(format,variables);fprintf(fid,format,variables);&例如:&& fprintf('i am concreten');i am concrete&&& a=3;b='s';&& fprintf('this is a %d and %s n',a,b);this is a 3 and s
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:138573次
积分:1918
积分:1918
排名:千里之外
原创:60篇
转载:120篇
评论:13条
(1)(10)(2)(1)(1)(15)(34)(2)(12)(19)(31)(10)(3)(3)(6)(16)(18)(10)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'查看: 1325|回复: 5|关注: 0
请教一下关于大数吃小数的问题,望赐教
<h1 style="color:# 麦片财富积分
新手, 积分 5, 距离下一级还需 45 积分
首先,预祝各位中秋快乐。接下来,想请教一下关于大数吃小数的问题。源程序如下:a=4.521;b=-1.584e-06;c=a+b;c=15*c;c=c/15;c=c-a;error=c-b为什最后的error不等于0,怎么解决这种问题呢?仿真中因为这个问题导致仿真经度上不去,很是头疼。期待大家的赐教,再谢!!
论坛优秀回答者
<h1 style="color:#66 麦片财富积分
关注者: 250
因为计算机在处理浮点数的时候是有舍入舍出误差的。。。。
直接算,精度必然是到不了辣么高。。。
<h1 style="color:# 麦片财富积分
因为计算机在处理浮点数的时候是有舍入舍出误差的。。。。
直接算,精度必然是到不了辣么高。。。 ...
请问有什么办法可以消除或者减小这种影响吗?谢谢
论坛优秀回答者
<h1 style="color:#12 麦片财富积分
关注者: 311
这是由于浮点数误差导致的,matlab中浮点数并不是连续的,而是一个一个分立的存在。
就好比计算:
0.1+0.2-0.3
& &5.5511e-17
这是没办法避免的
对于你给的代码,要判断c和b是否相等,可以设置容差值:
abs(b-c)&1e-10
他们之间的差小于容差值时就可以认为它们相等。
论坛优秀回答者
<h1 style="color:#66 麦片财富积分
关注者: 250
请问有什么办法可以消除或者减小这种影响吗?谢谢
如果你仅仅只是希望能够判别0,那么给一定的误差容许度就可以。
但是如果你想消除差别,没什么可能。。。
<h1 style="color:# 麦片财富积分
以前看到过有个& &Kahan求和公式原理;
但是它只对求和有效果,而我的程序里会用到乘除运算,这个办法就没法用了。
请教各位有没有针对乘除算法的类似方法
站长推荐 /2
机器视觉和人工智能在医疗设备中的应用及实现
MATLAB中文论坛是全球最大的 MATLAB & Simulink 中文社区。用户免费注册会员后,即可下载代码,讨论问题,请教资深用户及结识书籍作者。立即注册加入我们吧!
MATLAB官方社交平台
MATLAB中文论坛微社区matlab实现十进制小数转换为二进制
matla实现十进制小数转换为二进制这段程序源于网上********小于1的小数转换为二进制***********functiony=dectoin(innum,N)%十进制小数转换为二进制数%输入参数为innum和N%innum为输入的十进制小数%N为指定转换后二进制的位数if(innum1)|(N==0)%判断输入的有效性disp('eo!');etun;endcount=0;tempnum=ecod=zeos(1,N);while(N)count=count+1;%长度小于Nif(countN)N=0;%etun;endtempnum=tempnum*2;%小数转换为二进制,乘2取整iftempnum1ecod(count)=1;tempnum=tempnum-1;elseif(tempnum==1)ecod(count)=1;N=0;%stoploopelseecod(count)=0;endendy=ecod;**********正小数转换为二进制数***********function[num,numint,numf]=xiaoshu2in(innum,N)%十进制数转换为二进制数%输入为十进制数innum,以及小数部分的位数N%输出为三个参数num,numint,numf%num为输出的二进制形式%numint为整数部分的二进制表达式%numf为小数部分的二进制表达式sep='.';%整数和小数部分的分隔符if(mod(innum,1)==0)%判断输入是否为整数,mod为取余函数
& 果果文库所有资源均来源于互联网,仅供网友学习交流,若侵犯了您的权益,请联系我们予以删除。
11661&&人浏览
5227&&人浏览
13802&&人浏览
7879&&人浏览
1303&&人浏览
10085&&人浏览
9966&&人浏览
7179&&人浏览
18394&&人浏览
191&&人浏览
10744&&人浏览
9921&&人浏览
11671&&人浏览
13341&&人浏览
12470&&人浏览
本文标题:matlab实现十进制小数转换为二进制 链接地址:
2013- Inc. All Rights Reserved 果果文库 版权所有 联系站长: ; 经营许可证编号:浙ICP备号小木虫 --- 600万学术达人喜爱的学术科研平台
热门搜索:
&&【求助】matlab里两个相等的数相减为什么不等于0呢
【求助】matlab里两个相等的数相减为什么不等于0呢
自己编了一个小程序,调试时一个本应该为零的结果总是不等于零。认真检查中间的过程,没有发现错误。最后把每一个数拆开发现,运算中两个表达式计算出来的结果完全相等,但是它俩的差值却不等于零。请问这是什么原因造成的。这两个数都是通过矩阵中的元素运算得出来的。另:我将俩数相除,结果等于1。
MATLAB接触不多,还请各位帮忙解答一下,谢谢!
学术必备与600万学术达人在线互动!
扫描下载送金币}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信