matlab中如何把一个两列的数据赋值给矩阵并将两列分别赋值x和y

如:256256456456254365。。。。赋值给一个矩阵A[N,2],然后让A(i,1)赋值给ai;A(i,2)赋值给bi;求高手解惑啊我用A[N,2],=fsca... 如:256 256

456 456
254 365
。。。。
赋值给一个矩阵A[N,2],然后让A(i ,1)赋值给ai;A(i ,2)赋值给bi;
求高手解惑啊
我用A[N,2],=fscanf(‘data.txt','%f %f')总是显示不对:Unbalanced or unexpected parenthesis or bracket.
展开
 我来答
电子数码小百科NW
2020-02-16 · TA获得超过6490个赞
知道答主
回答量:15
采纳率:0%
帮助的人:3792
展开全部

1、使用=号进行赋值,会将等号右边的值付给左面,比如x=13则x就是13了。

2、可以对变量进行进一步赋值,也可以包含以前的变量,比如y=x+13。

3、以上是一维赋值,也可以赋值多维矩阵比如A=[0 1 2 3]其中可以用:来表示,如A=[0:100],表示0到100之间的数赋值给矩阵A。

4、在左下角的工作区workspace中可以看到所有的变量,也可以使用who命令来查看所有变量。

5、使用命令clear 变量,比如clear A,会将变量A从内存中清除。

6、对于矩阵赋值,比如B=[1 2 3;4 5 6;],这结果如下,显然,使用分号进行换行。就完成了。

杨好巨蟹座
2015-10-30 · TA获得超过5万个赞
知道大有可为答主
回答量:6197
采纳率:80%
帮助的人:1259万
展开全部
如果只是为了得到a矩阵第一列与第二列相加的结果,可以很方便的实现:

a=[1 2;3 4];
Z=a(:,1)+a(:,2);

如果,一定要按照意思,先把x,y定义为符号变量,再赋值计算,syms x y也起不到做作用,matlab不需要定义。

a=[1 2;3 4];
x=a(:,1);
y=a(:,2);
z=x+y;

如果要一次次的计算,所知道是利用for循环。

a=[1 2;3 4];
for k=1:2
x=a(k,1);
y=a(k,2);
z(k)=x+y;
end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hwguan
推荐于2017-11-26 · TA获得超过1万个赞
知道大有可为答主
回答量:4405
采纳率:0%
帮助的人:4145万
展开全部
其实直接用load函数更方便
A=load('data.txt') %N*2矩阵直接读取并保存在A中
然后可以用循环
for: i=1:numel(A(:,1))
ai=A(i,1);
bi=A(i,2);
end
追问
初学者,谢谢大神,这几个读取函数有何分别啊?如textread,fscanf,load....
追答
fscanf 最低端, 一个一个字符读都可以

textread 是按行或者矩阵(每行格式相同)读取
load 最高端, 也限制最大, 读取整块同数据类型的矩阵
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
靓为过G
2013-09-11 · TA获得超过769个赞
知道小有建树答主
回答量:477
采纳率:40%
帮助的人:373万
展开全部
A=load('data.txt');
ai=A(:,1);
bi=A(:,2);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3723e68
2013-09-11 · 超过10用户采纳过TA的回答
知道答主
回答量:14
采纳率:100%
帮助的人:11.2万
展开全部
比如
A=[1,2;
3,4;
5,6];
a=A(:,1)
b=A(:,2)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式