高分求高手用matlab编程!!求f=20*1/f(s)函数!!

求高手用matlab编程!!求f=20*1/f(s)函数!!f(s)从1到10000,步长为10.
最后输出的f是二进制!

你的所谓f(s)从1到10000,这个表达很模糊,到底这个f(s)是个函数还是一个变量?
如果是函数就是自调用函数,你给的条件不足,不能做。如果是变量请用fs表示。
我理解成f=20*1/fs,fs是变量,从1到10000,步长为10。
则程序如下:
fs = 1:10:10000;
f = 20*1./fs;
f2 = dec2bin(f); %%%% 转成二进制
结果前5个如下:
>> f(1:5)

ans =

20.0000 1.8182 0.9524 0.6452 0.4878

>> f2(1:5,:)

ans =

10100
00001
00000
00000
00000
由于你的 f 结果是浮点数,这样求的话,会将浮点数转成整数,然后化成二进制整数。
鉴于此,如果你要求的是将十进制浮点数转成二进制浮点数,那就要更改一下
程序如下:
fs = 1:10:10000;
f = 20*1./fs;
%f2 = dec2bin(f); %%%% 转成二进制
f1 = num2hex(f); %%%% 先转成十六进制
f2 = dec2bin(hex2dec(f1)); %%%%% 再转成三十二进制浮点数
结果前五个如下:
>> f(1:5)

ans =

20.0000 1.8182 0.9524 0.6452 0.4878

>> f2(1:5,:)

ans =

100000000110100000000000000000000000000000000000000000000000000
011111111111101000101110100010111010001011101000101110000000000
011111111101110011110011110011110011110011110011110100000000000
011111111100100101001010010100101001010010100101001010000000000
011111111011111001110000011000111110011100000110010000000000000
三十二进制的浮点数怎么读呢?
比方我有一个浮点数 a=3.8,它的浮点表示为:00000001011100110011001100110011 这样的32位的数,(根据IEEE754标准,蓝色表示符号,红色表示指数,灰绿色表示有效位数字。 即:1.1110011001100110011* 2^(10B), 具体规则说来话长,总之它放在电脑中就是这样的01序列),这里不能显示颜色,但可以告诉你,第一位是符号,即蓝色,接下来八位是指数,即红色,剩下的是有效位数字。

不知道对你题目理解的f(s)有没有错误。

有问题欢迎追问,对你有帮助,请给采纳。
copyright@cxd1301
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜