24小时热门版块排行榜    

查看: 339  |  回复: 6
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

jiangxy

[交流] 【求助】矩阵编写【已完成】

我有个矩阵,要用matlab编写,具体要求是这样的:
矩阵A 为[m,2]型,都是正数,第一列的数是从小到大的,矩阵是已知的,对于x,将x与第一列元素比较,如果x的值为第一列的某一值,则输出y=对应第二列中对应行的元素的值,对于x≠第一列的元素的话,在第一列中找比x小的最接近的数,在第一列的这一行与下一行的元素将x进行插值,也在对应的第二列进行相同的操作,即为y的值。比如矩阵A=[3 1;5 4; 7 5; 9 6],对于x=5,y=4;x=3.5的话,找到最小的3,在3和下一行5上计算3.5占的比例,在对应的第二列1和4上也按照这个比例进行运算,输出y值为第二列计算出来的值(对于x=3.5,应该y=1+[(3.5-3)/(5-3)]*(4-1))
急用,请大家帮忙,谢谢!
(如果觉得金币少的话可以再加)

[ Last edited by nono2009 on 2009-9-26 at 11:35 ]
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hitzhang

木虫 (正式写手)

★ ★ ★ ★
jiangxy(金币+3,VIP+0):谢谢,但您说的太简单了,我想要具体的。 5-14 18:45
sunxiao(金币+1,VIP+0):谢谢参与,欢迎常来仿真编程版 5-16 03:50
这个好像是线性插值,你试试interp1
3楼2009-05-14 18:28:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

levone

木虫 (正式写手)

★ ★ ★ ★ ★ ★
jiangxy(金币+4,VIP+0):很感谢你,可是程序不对呢 5-14 15:59
sunxiao(金币+2,VIP+0):谢谢参与,欢迎常来仿真编程版 5-16 03:51
for j = 1:1:m
        if x = A[j,1] then
               y = A[j,2];
        else
               y = A[j,2]+((x-A[j,1])./(A[j+1,1]).*(A[j+1,2]))
    end;

以上是在下想的,不知符不符合要求。
莫愁前途无知己!
2楼2009-05-14 15:21:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fspdlh

金虫 (正式写手)

★ ★
sunxiao(金币+2,VIP+0):谢谢参与,欢迎常来仿真编程版 5-16 03:51
interp1(A(:,1),A(:,2),3,'linear')
4楼2009-05-15 23:01:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jiangxy

已完成。谢谢大家
7楼2009-05-23 14:14:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见