interp2 interpolating in one dimension??

6 Ansichten (letzte 30 Tage)
J
J am 7 Jul. 2012
Hi,
I am calling interp2 inside a function of fminsearch and the vector that is returned seems to be interpolating in one dimension as it should (answers are over the grid of [1,40]) while in the other dimension its giving values that are pretty much all at 1 even when the grid is over [1,40]. Is this a general issue that someone can give advice on how to resolve or should I paste my code for others to replicate?
  2 Kommentare
Walter Roberson
Walter Roberson am 7 Jul. 2012
Code please.
J
J am 7 Jul. 2012
Bearbeitet: Walter Roberson am 7 Jul. 2012
main m.file
clear all;
close all;
clc;
tic
global v0 vv0 beta delta alpha eta kmat k00 s kgrid Agrid gamma r p mmat m00 mgrid pmat l
%no. of firms
J=4;
r=0.5;
% set parameters
alpha = 0.2; % capital's share
beta = 0.9;
delta = 0.1; % depreciation rate (annual)
gamma=0.2;
eta=0.5;
s = 3;
tol = 0.1;
maxits =25;
dif=tol+1000;
dif1 = tol+1000;
dif2 = tol+1000;
its = 0;
its1 = 0;
Agrid=[1,1,1,1];
kmat=meshgrid(1:1:25);
mmat=meshgrid(1:1:25);
kmat = kmat';
[JJJJ,N] = size(kmat);
mmat = mmat';
[JJJJ,N] = size(mmat);
v0 = zeros(JJJJ,N);
v1=zeros(J,N);
while dif>tol & its<maxits
for j=1:J
for i=1:N
k00=kmat(i,j);
m00=mmat(i,j);
km0=[k00,m00];
[km1,fval] = fminsearch(@(km) firmvalfn_2cap_rental_noprices(km,j),km0)%,options);
v1(i,j) = -firmvalfn_2cap_rental_noprices(km1,j);
k11(i,j) = km1(1);
m11(i,j) = km1(2);
end
end
dif=norm(v1-v0)
v0 = v1;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function val=firmvalfn_2cap_rental_noprices(km,j)
% This program gets the value function of firm for a neoclassical growth model
global pmatt v0 vv0 beta delta p alpha eta k00 kgrid kmat m00 mgrid mmat s k2mat m2mat Agrid gamma ll
gg= interp2(kmat(:,j),mmat(:,j),v0,km(1),km(2),'linear');
profit = (Agrid(j)*(k00^alpha)*(m00^alpha))- (km(1)-k00*(1-delta))-(km(2)-m00*(1-delta));
if profit<=0
val = -9999999 - 999*abs(profit);
else
val= log(profit)+ beta*gg;
end
val = -val;

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Mathematics finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by