内存不足。可能的原因是计划内的无限递归。错误在polyfit(第3行)p = polyfit (x, y, 2);

2视图(30天)
你好,我得到这个错误当试图运行我的代码,“内存不足。可能的原因是计划内的无限递归。" Any idea on how to fix this? My code is below.
t = [0:1:20];
Ca = [10, 9.090909, 8.333333, 7.692308, 7.142857, 6.666667, 6.25, 5.882353, 5.555556, 5.263158, 5, 4.761905, 4.545455, 4.347826, 4.166667, 4, 3.846154, 3.703704, 3.571429, 3.448276, 3.333333);
logCa =日志(Ca);
多项式系数= polyfit (t, logCa, 1)

答案(1)

马修•诺伊
马修•诺伊 2021年12月1日
到目前为止我R2020b没有问题
复制粘贴你的数据在我的演示代码和工作没有问题:
clc
clearvars
%的数据
x = [0:1:20];
Ca = [10, 9.090909, 8.333333, 7.692308, 7.142857, 6.666667, 6.25, 5.882353, 5.555556, 5.263158, 5, 4.761905, 4.545455, 4.347826, 4.166667, 4, 3.846154, 3.703704, 3.571429, 3.448276, 3.333333);
y =日志(Ca);
%配合一个多项式p(学位“学位”(x, y)数据:
度= 1;
p = polyfit (x, y,学位);
%计算拟合多项式p和情节:
f = polyval (p (x);
eqn = poly_equation(翻转(p));%多项式方程(字符串)
Rsquared1 = my_Rsquared_coeff (y, f);%相关系数
图(1)、图(x, y,“o”f, x,,“- - -”)
传奇(“数据”eqn)
标题([“数据符合- R的平方=”num2str (Rsquared1)]);
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
函数data_fit Rsquared = my_Rsquared_coeff(数据)
% R2相关系数计算
%的总平方和
sum_of_squares =总和((数据表示(数据))^ 2);
%的残差平方和,也称为残差平方和:
sum_of_squares_of_residuals = ((data-data_fit) ^ 2)总和;
%定义的相关系数
Rsquared = 1 - sum_of_squares_of_residuals / sum_of_squares;
结束
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
函数eqn = poly_equation (a_hat)
eqn =" y = "+ a_hat (1);
我= 2:(长度(a_hat))
如果号(a_hat (i)) > 0
str =“+”;
其他的
str =”“;
结束
如果我= = 2
eqn = eqn + str + a_hat (i) +“* *”;
其他的
eqn = eqn + str + a_hat (i) +“* x ^”+(张)+”“;
结束
结束
eqn = eqn +”“;
结束

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的