Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MatLab矩阵构造_Matlab_Matrix - Fatal编程技术网

MatLab矩阵构造

MatLab矩阵构造,matlab,matrix,Matlab,Matrix,如果我按如下方式构造矩阵A1: a1=2; v1i=0; t1i=0; dt=0.1; syms t real t1f=solve(int(a1,t)+v1i==40,t); t1=t1i:dt:t1f; A1(:,1)=t1; A1(:,2)=a1; 然后,A1显示为: [ 0, 2] [ 1/10, 2] [ 1/5, 2] [ 3/10, 2] ... 但是,我希望A1是这样的: 0 2.0000 0.1000 2.0000 0.20

如果我按如下方式构造矩阵
A1

a1=2; 
v1i=0;
t1i=0; 
dt=0.1; 
syms t real 
t1f=solve(int(a1,t)+v1i==40,t); 
t1=t1i:dt:t1f;
A1(:,1)=t1;
A1(:,2)=a1;
然后,
A1
显示为:

[      0, 2]
[   1/10, 2]
[    1/5, 2]
[   3/10, 2]
...
但是,我希望
A1
是这样的:

   0    2.0000
0.1000    2.0000
0.2000    2.0000
0.3000    2.0000
...
在玩了一会儿之后,我注意到
t1f
以及它的计算方式可能会影响矩阵的形状。所以

a1=2;  
v1i=0;
t1i=0; 
dt=0.1; 
t1=t1i:dt:20;
A1(:,1)=t1;
A1(:,2)=a1;

产生期望的结果。如何在不删除t1f的计算的情况下获得所需的矩阵形状?

我想我找到了答案
t1f
是一个
sym
,因此,如果我将其设置为
双精度
,则会得到我想要的结果:

a1=2; 
v1i=0;
t1i=0; 
dt=0.1; 
syms t real 
t1f=double(solve(int(a1,t)+v1i==40,t)); 
t1=t1i:dt:t1f;
A1(:,1)=t1;
A1(:,2)=a1;

我想我找到了答案
t1f
是一个
sym
,因此,如果我将其设置为
双精度
,则会得到我想要的结果:

a1=2; 
v1i=0;
t1i=0; 
dt=0.1; 
syms t real 
t1f=double(solve(int(a1,t)+v1i==40,t)); 
t1=t1i:dt:t1f;
A1(:,1)=t1;
A1(:,2)=a1;

我想我找到了答案
t1f
是一个
sym
,因此,如果我将其设置为
双精度
,则会得到我想要的结果:

a1=2; 
v1i=0;
t1i=0; 
dt=0.1; 
syms t real 
t1f=double(solve(int(a1,t)+v1i==40,t)); 
t1=t1i:dt:t1f;
A1(:,1)=t1;
A1(:,2)=a1;

我想我找到了答案
t1f
是一个
sym
,因此,如果我将其设置为
双精度
,则会得到我想要的结果:

a1=2; 
v1i=0;
t1i=0; 
dt=0.1; 
syms t real 
t1f=double(solve(int(a1,t)+v1i==40,t)); 
t1=t1i:dt:t1f;
A1(:,1)=t1;
A1(:,2)=a1;
作为解决方案的替代方案,您可以以数字方式执行解决方案,并完全避免使用符号工具箱:

t1f = fzero(@(t) integral(@(t)a1,0,t,'ArrayValued',true)+v1i-40,v1i); 
作为解决方案的替代方案,您可以以数字方式执行解决方案,并完全避免使用符号工具箱:

t1f = fzero(@(t) integral(@(t)a1,0,t,'ArrayValued',true)+v1i-40,v1i); 
作为解决方案的替代方案,您可以以数字方式执行解决方案,并完全避免使用符号工具箱:

t1f = fzero(@(t) integral(@(t)a1,0,t,'ArrayValued',true)+v1i-40,v1i); 
作为解决方案的替代方案,您可以以数字方式执行解决方案,并完全避免使用符号工具箱:

t1f = fzero(@(t) integral(@(t)a1,0,t,'ArrayValued',true)+v1i-40,v1i);