声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1282|回复: 6

[编程技巧] 计算后如何把b写成b=[1 4 9 16]的形式

[复制链接]
发表于 2010-11-14 15:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x

clear
clc
a=[1,2,3,4];
for i=1:4
b=a(1,i)^2
end
b
怎么修改程序把所有的b放在一起
写成b=[1 4 9 16]的形式

点评

b=a.*a; matlab基本操作要熟悉。  发表于 2010-11-14 16:12
回复
分享到:

使用道具 举报

发表于 2010-11-14 22:30 | 显示全部楼层
方法很多
clear; clc
a=[1,2,3,4]; for i=1:4, b(i)=a(i)^2; end

a=[1,2,3,4]; b=a.*a;

a=[1,2,3,4]; b=a.^2;
发表于 2010-11-14 22:31 | 显示全部楼层
楼主抓基础吧!
b = a.^2
b = a.*a
 楼主| 发表于 2010-11-18 18:32 | 显示全部楼层
回复 3 # zhouyang664 的帖子

楼上误解了,我只是随便举了个例子,用来把数重组起来。我做的是多元最小二乘法,涉及到的数组多,因而举个简单例探探路。
解决方法很简单clear
clc
a=[1,2,3,4];
for i=1:4
b[:,i]=a(1,i)^2
end
b

谢谢各位的支持!!!!!!!!!!!!!!
 楼主| 发表于 2010-11-18 18:34 | 显示全部楼层
改为b(:,i)=a(1,i)^2
发表于 2010-11-18 22:21 | 显示全部楼层
不太明白楼主的程序想实现什么功能,而且有错误!
ls给出了正解!
发表于 2010-11-19 00:24 | 显示全部楼层
本帖最后由 Happy99 于 2010-11-19 00:36 编辑

clear; clc
a=[1,2,3,4]; for i=1:4, b(:,i)=a(1,i)^2; end
也是不会报错!
不过还是用2F较好:@)
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-18 11:21 , Processed in 0.063150 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表