楼主: autozhao
1987 5

[求助]MATLAB里的一个小程序 [推广有奖]

  • 9关注
  • 11粉丝

已卖:262份资源

副教授

36%

还不是VIP/贵宾

-

威望
0
论坛币
562 个
通用积分
8.9693
学术水平
8 点
热心指数
14 点
信用等级
4 点
经验
25728 点
帖子
409
精华
0
在线时间
1200 小时
注册时间
2008-10-23
最后登录
2025-6-19

楼主
autozhao 发表于 2010-12-12 00:18:15 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
以前用的时候没这个问题,换了电脑,装的2010a,运行程序是出现问题。
是jplv7\Ucsd_garch里的gedinv(),
程序也不长就不贴了,要的话也可以贴。
关键是这个地方过不去了,
a=[h,m,l];
if any(x==a)
提示说dimensions不对,
x是个列向量,
a是个行向量。
如果a只有一个数的话当然没有问题,可是a是向量就过不去了。
不知是我哪里理解错了?

举个例子吧!
x=[1 2 3 4 5 6 7 8 9 0]‘;
a=[ 4  5 7];
any(x==a)
谁的电脑能把上面3行跑出来,或者如何修改达到同样目的,或者直接指出我哪里理解有误!

十分感谢!
========================================
便于讨论我还是把程序加上吧,呵呵
function num = gedinv(x,nu)
% PURPOSE:
% Evaluates the Probabiliy a vector of observations x(Nx1)
% has if drawn from a Generalzed Error Dist'n  with parameter nu
%
%
% USAGE:
% num = gedinv(x,nu)
%
% INPUTS:
% x - Data
% nu - Shape parameters
%
% OUTPUTS:
% num - Inverse CDF values form a GED
%
% COMMENTS:
% The exponential power distn with variance normalized to 1
%
% f(x)=Kd * exp (-|x|^nu)
% KD = inv(2 * gamma (1+(1/nu) ) )
%
% Taken from Tadikamalla 1980
%
% Included in the ucsd_garch toolbox and the JPL library
% Requires the JPL toolbox
%
% Author: Kevin Sheppard
% kevin.sheppard@economics.ox.ac.uk
% Revision: 2    Date: 12/31/2001


high=5;
low=-5;
for i=1:20
    mid=(high+low)/2;
    h=gedcdf(high,nu);
    m=gedcdf(mid,nu);
    l=gedcdf(low,nu);
    a=[h,m,l];
    if any(x==a)
        num=a(x==a);
    elseif x<h && x>m
        low=mid;   
    else
        high=mid;
    end
end
num=mid;
注释有点长 看着闹心!
if any那的问题,因为以前用的时候,挺好使,从来没在意过,这下不好用了,所以请教!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:MATLAB matla atlab Mat Atl 求助 求助 MATLAB MATLAB 程序 程序

沙发
guopeij 发表于 2010-12-12 00:38:40
any(x==4|x==5|x==7)

你试试这样行吗 我电脑没有装MATLAB  不对请指教

藤椅
lanfeng0924 发表于 2010-12-12 00:39:40
很明显,应该是向量中的对应元素相等才行,你两个向量的元素不相等,不能一一对应,自然会判断维数问题。
研究兴趣:数据挖掘,决策分析

板凳
lanfeng0924 发表于 2010-12-12 00:40:01
此外,这个和谁的电脑是没关系的,是你程序的问题
研究兴趣:数据挖掘,决策分析

报纸
autozhao 发表于 2010-12-12 00:58:40
十分感谢,那您帮看看这个程序,以前还用来着! 4# lanfeng0924

地板
autozhao 发表于 2010-12-12 01:02:58
guopeij 发表于 2010-12-12 00:38
any(x==4|x==5|x==7)

你试试这样行吗 我电脑没有装MATLAB  不对请指教
帮我打开点思路,谢谢,不过这个问题还没想到办法。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 08:21