Matlab求一分数序列的和

作者&投稿:才贡 (若有异议请与网页底部的电邮联系)
如何用matlab产生-1和1随机序列,急急急~~~~

你题目的意思是随机生成1000个-1或1,而不是生成1000个[-1,1]之间的随机数吧?
用rand函数生成0~1之间的随机数序列,判断大于0.5的转化成1,小于等于的转换为-1即可。
代码:

num=1000;%总共1000个数
a=rand(1,num);生成0~1随机数序列
a(a>0.5)=1;
a(a<=0.5)=-1;

a就是你要求的。
也许还有更简单的代码,比如使用逻辑运算等。

clear;
clc;
t =rand()*10;
m = 1:t;
x = randn(1,t) ;
x = mod(x,10);
plot(x ,m);

x=[];
y=[];
for n=3:3+15
p = (1-sqrt(5))/2 ;
q = (1+sqrt(5))/2 ;
x =[x q^(n-2)*(1-p)*(1-(p/q)^(n-1))/(1-p/q)+p^(n-1)];
end

for n=2:2+15
p = (1-sqrt(5))/2 ;
q = (1+sqrt(5))/2 ;
y =[y q^(n-2)*(1-p)*(1-(p/q)^(n-1))/(1-p/q)+p^(n-1)];
end

p=sym(x)./sym(y);

result=sum(p)

这个问题的关键是构造这个数列。可以看出这个数列的分子和分母就是有名的斐波那契数列,我们分别构造分子和分母,然后再得到结果。

祝你学习愉快!

LEN=15
a=2;
b=1;
sum=2;
for i=2:1:LEN
var[i]=(a+b)./a;
temp=a;
a=a+b;
b=temp;
sum=sum+var[i];
end
sum


matlab为什么出现一长串分数
matlab出现一长串分数是因为矩阵结果里有变量,所以才出现分数。解决方法就是用vpa计算符号表达式的数值,这样就不会出现分数了。

matlab求特征向量时要求结果分数表示
>> format rat %以分数形式显示数据 >> X X = 881\/1079 -881\/1079 349\/2566 1079\/2643 -881\/2158 1823\/1970 881\/2158 -881\/2158 219\/619 matlab一般以double(双精度)类型在内部进行运算,显示时则根据format命令的参数有不同的表现,请阅matlab中关于format的帮助和例子。

matlab 分数阶求解
d=0.1 r=i(1),i(2),..i(n)h=delta t, 2点之间的距离 fderiv(d,r,h)This function calculates the fractional derivative of order d for the given function r(t). It is assumed that the vector r contains the samples of the continuous signal r(t) which we are going to ...

matlab按照分数的大小进行排名?
根据题意,将evals=[5 3 2 5 5 4 1 2]反转为[1 3 4 1 1 2 5 4],我们不难发现,该题实际上就是矩阵加减法运算。即 A=[5 3 2 5 5 4 1 2];B=6-A

matlab中怎么将小数化为分数
小数化为分数 rat();——matlab会写出计算过程 rats();——matlab会直接给出结果 rat(x):将实数x化为分数表示

matlab 求代码 求大神指教 在线等可追加分数!!
这个可以,就是精度差了点……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 ...

matlab中的“format rat”是什么意思?
format short %短格式 format rat 分数格式形式。用有理数逼近显示数据。如pi显示为355\/113。另附其它形式:format缺省时为默认短格式方式与format short相同 format short短格式方式,显示5位定点十进制数。format long长格式方式,显示15位定点十进制数。format short g当数据大于1000或小于1时便会以...

用MATLAB编写?
用MATLAB编写,某班本学期数学期末考试成绩如下表,请分别计算出0-59,60-79,80-100分数段的人数。如何利用if语句编写程序实现呢?第一步:将48位同学的数学成绩,赋值给变量A;第二步:使用if条件语句,判断每位同学的成绩处于那个分数段 第三步:使用for循环语句,分别计数处于某个分数段的人数 第四步...

怎样让matlab 输出的结果不用分数表示,而是用小数表示,而且可以控制...
1 如图,matlab命令窗口中显示的数值默认只是4位小数,最后一位采用四舍五入。如果要修改显示的小数位数,或者需要科学计数法等,请看下文。2 进入preference设置 matlab2013以前的版本:菜单栏中点击“file”,在下拉窗口中点击“preference”。3 matlab2013,及以后的版本:点击“home”,在右侧会看到...

MATLAB如何控制输出解的形式为分数
比如结果保存在a中 real(a)得到实部 分数查看format函数,改变输出形式,你可以百度MATLAB format

鄱阳县19393889642: MATLAB语言编程:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前15项之和 -
危仁尿嘧: a(1)=2;a(2)=3; b(1)=1;b(2)=2; c(1)=a(1)/b(1); c(2)=a(2)/b(2); for i=3:15a(i)=a(i-2)+a(i-1);b(i)=b(i-2)+b(i-1);c(i)=a(i)/b(i); end cs=sum(c)

鄱阳县19393889642: matlab编程:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前n项之和. -
危仁尿嘧: 做个函数试试:% 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前n项之和 function sn = fun_test(n) clc; if nargin < 1n = 8; end an = [1 2]; for i = 3 : nan(i) = an(i-2)+an(i-1); end bn = an(2:end); sn = 0; for i = 1 : length(bn)sn = sn + ...

鄱阳县19393889642: matlab有一分数序列1/2,3/2,5/3...编写一段程序,求前16项的和 -
危仁尿嘧: 第2项的构成规律与后面各项不一致. 后面各项都是以前一项的分子作为分母,而以前一项分子、分母之和作为分子,第2项不符合这个规律.参考代码: >> f = zeros(1,17); >> f(1:2) = 1:2; >> f = 1:17; >> for k=3:length(f), f(k)=f(k-1)+f(k-2); end >> n=[1 f(3:17)]; >> d=[2 f(2:16)]; >> sum(n./d) ans =24.6881 >> sum(sym(n)./d) ans = 832875590117668919533/33735878969859546480最后一个是用符号运算求出准确解.

鄱阳县19393889642: 有一分数序列:2/1,3/2,5/3,8/5,求出这个数列的前20项之和 -
危仁尿嘧: 我只会数学部分:显然分子和分母分别为前两项之和,代公式直接算

鄱阳县19393889642: 有一分数序列:2/1;3/2;5/3;8/5;13/8;21/13;…… 编写程序求出前十五项的和. -
危仁尿嘧: #include void main() { int i,t,n=20; float a=2,b=1,s=0; for(i=1;i{ s=s+a/b; t=a; a=a+b; b=t; } printf("sum=%9.6f\n",s); }

鄱阳县19393889642: 编写函数float fun(int n),求一分数序列2/1,3/2,5/3,8/5,13/8,21/13...的前n项之和 -
危仁尿嘧: float fun(int n){int k,m,i=2,j=1; float sum=0;for(k=0;k

鄱阳县19393889642: 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和 -
危仁尿嘧: 规律是后面分数的分子等于前面分数的分子加分母,后面分数的分母等于前面分数的分子,程序代码:#include<stdio.h>#include<math.h>#define sqrt_5 2.2360679774997896964091736687313#define A ((1 + sqrt_5) / 2)#define B ((1 - sqrt_5) / ...

鄱阳县19393889642: 有一个分数序列如下,求出这个序列前20项的和. VB -
危仁尿嘧: Private Sub Command1_Click() Dim a, b, c, d, e, f, i, j As Integer Dim sum As Single sum = 0 a = 2: b = 1 c = 3: d = 2 sum = a / b + c / d e = a + c f = b + d For i = 2 To 20 sum = sum + e / f e = e + c f = f + d c = e d = f Next i Print sum End Sub

鄱阳县19393889642: 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和(用pascal解题) -
危仁尿嘧: var n:longint; a,b:array[1..1000] of longint; c:array[1..1000] of double; i:longint; sum:doubl...

鄱阳县19393889642: 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13……编写求此数列的前n项之和的程序,由键盘上输入
危仁尿嘧: #include "stdio.h" int main() { int a1=1,a2=2,n=0,i=1,tmp=a2; double sum=0.0; printf("输入n:"); scanf("%d",&amp;n); while(i&lt;=n) { sum+=a1/(double)a2; tmp=a1; a1=a2; a2+=tmp; i++; } printf("sum:%lf",sum); return 0; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网