问题背景
效用最大化理论模型,非线性有约束规划,函数中有多个参数(如图),初步的想法是
第一步:得出最优消费量关于某一变量的偏导;
第二步:将偏导在某一参数的不同水平下进行数值模拟
碰到的问题
手动计算最优消费量易出错(不确定是否求出了正确的解),下面的数值模拟自然不好推进,所以想用matlab的最优化工具箱计算得出最优消费量,但是遇到了报错,无法实现
目前尝试的代码
参考matlab帮助文档中跟我这个相似的最优化问题,目前是这个代码(没有matlab格式的代码可插入,用了python的代码格式,见谅哈),目的是将f这一g的隐函数作图,这里4个变量t, c, c1, c0,其他的都是参数
%%%%
clc; clear all; close all;
f = @(t, c, c1, c0) (a.*t.^p + b.*(h0-m.*c+n.*(k1.*c+k2.*c1+(1-k1-k2).*c0)).^p)^(1/p);
g = @(t,c, c1, c0) t+p1.*n.*(k1.*c+k2.*c1+(1-k1-k2))+ 0*(h0-m.*c+n.*(k1.*c+k2.*c1+(1-k1-k2).*c0)>=h1)+p2.*(h0-m.*c+n.*(k1.*c+k2.*c1+(1-k1-k2).*c0)<h1)-i;
fimplicit(g)
报错情况
“错误使用 fimplicit (line 54) 函数输入可以最多包含两个变量。”
我目前的疑问
当然上面这个报错是预想中的啦,关键的问题是不知道这样一个全是参数的最优化问题是否可以用matlab求出一个解的表达式再数值模拟还是说直接用这一系列关系式直接进行数值模拟