24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1182  |  回复: 9

hlls007

铁虫 (小有名气)

[求助] 如何得到一定数量的数据,用matlab程序

t=-2*pi:0.1:2*pi;
x=cos(t).^3;y=sin(t).^3;
plot(x,y)
display(x')
display(y')

display命令之后我想对数据做一个控制,其实出来的数据时随机的,我想就出来90个数据怎么操作!
还有就是得到360个也可以!谢谢!

[ Last edited by hlls007 on 2011-7-19 at 16:18 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)

【答案】应助回帖

hlls007(金币+2): 谢谢! 2011-07-19 16:34:42
根据你的问题,只需要调整t的步长就可以了...
CODE:
t = -2*pi: 4*pi/360 :2*pi;

这样,生成的t长度为361,然后自然x和y长度都是361了
2楼2011-07-19 16:26:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hlls007

铁虫 (小有名气)

引用回帖:
Originally posted by sudo at 2011-07-19 16:26:59:
根据你的问题,只需要调整t的步长就可以了...
CODE:
t = -2*pi: 4*pi/360 :2*pi;

这样,生成的t长度为361,然后自然x和y长度都是361了

谢谢了!
3楼2011-07-19 16:35:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hlls007

铁虫 (小有名气)

请问对于这样的小程序怎么编写?
y=a*sin(z),z的取值是(0 360)的整数,y已知就是之前讨论的display(x')中的x值,想得到数据a,请问在matlab中的程序怎么编写?谢谢!
4楼2011-07-19 16:43:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)

★ ★
xzhdty(金币+2): 欢迎常来 2011-07-19 17:40:13
引用回帖:
Originally posted by hlls007 at 2011-07-19 16:43:59:
请问对于这样的小程序怎么编写?
y=a*sin(z),z的取值是(0 360)的整数,y已知就是之前讨论的display(x')中的x值,想得到数据a,请问在matlab中的程序怎么编写?谢谢!

最“数学味”的做法就是曲线拟合,使用cftool,这样能满足最小二乘的约束

具体还得看需求的,如果你不需要最小二乘意义下的a,那么需要对方法进行新的定义~
5楼2011-07-19 17:14:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hlls007

铁虫 (小有名气)

引用回帖:
Originally posted by sudo at 2011-07-19 17:14:19:
最“数学味”的做法就是曲线拟合,使用cftool,这样能满足最小二乘的约束

具体还得看需求的,如果你不需要最小二乘意义下的a,那么需要对方法进行新的定义~

行,我试试看吧!不会了再请教了!谢谢!
6楼2011-07-19 17:21:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hlls007

铁虫 (小有名气)


jjdg(金币+1): 感谢你的积极参与 2011-07-20 14:46:22
是这样的!!!!!
请问对于这样的小程序怎么编写?
y=a*sin(z),z的取值是(0 360)的整数,y已知就是之前讨论的display(x')中的x值,想得到数据a,请问在matlab中的程序怎么编写?
7楼2011-07-20 10:29:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hlls007

铁虫 (小有名气)


jjdg(金币+1): 感谢你的积极参与 2011-07-20 14:46:11
不好意思是这样的!!!!!
请问对于这样的小程序怎么编写?
y=a*sin(z),z的取值是(0 360)的整数,y已知就是之前讨论的display(x')中的x值,想得到数据a,请问在matlab中的程序怎么编写?
限定的条件是y值呢是z取值是对应的,也就是z取0度就是对应一个y值,z取1度对应一个y值,在这样的条件下怎么编写程序得到a值!
谢谢1
8楼2011-07-20 10:32:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)


jjdg(金币+1): 感谢你的热心参与 2011-07-21 10:03:30
引用回帖:
Originally posted by hlls007 at 2011-07-20 10:32:59:
不好意思是这样的!!!!!
请问对于这样的小程序怎么编写?
y=a*sin(z),z的取值是(0 360)的整数,y已知就是之前讨论的display(x')中的x值,想得到数据a,请问在matlab中的程序怎么编写?
限定的条件是 ...

你的限定条件有点...嗯...

除了上面我说过的能满足最小二乘约束条件的方法之外,还有一个简单的方法啦,就是分别求出a=y/sin(z),然后取平均
CODE:
mean(y./sin(z))

其中y和z是对应的列向量或者行向量

所以说,不同的约束条件,算出的最终a值也不一样~
9楼2011-07-20 17:30:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hlls007

铁虫 (小有名气)

多谢!
10楼2011-07-21 10:46:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 hlls007 的主题更新
信息提示
请填处理意见