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);