matlab根据数据和公式求参数,matlab新手,求帮助!主要是如何将数据和公式导入...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

这是别人给我的程序,我想问一下怎么把我的两个excel数据导入,以及公式怎么写?

clc;

clear all;

close all;data=dlmread('all_data_in_situ_lxz.txt');data(6,:)=[];

data(12,:)=[];

data(13,:)=[];

data(13,:)=[];

data(24,:)=[];

index=find(data(:,11)>10);

data(index(1:end),:)=[];

samples=size(data,1);

C_pred_all_val=ones(samples,1);

rsqr_C_all_val=ones(samples,1);

RMSE_C_all_val=ones(samples,1);

APD_C_all_val=ones(samples,1);

beta_C_all=ones(samples,4);

for j=1:samples

C_val_all=data(j,:);

tem_tur=data;

tem_tur(j,:)=[];

C_cal_all=tem_tur;

C_x1=(C_cal_all(:,1))./(C_cal_all(:,7));

C_x2=(C_cal_all(:,2))./(C_cal_all(:,7));

C_x3=(C_cal_all(:,4))./(C_cal_all(:,7));

C_x=[C_x1 C_x2 C_x3];

myfunc_C = @(beta_C, C_x)(beta_C(1).*C_x1+beta_C(2).*C_x2+beta_C(3).*C_x3+beta_C(4));

options_C = statset('MaxIter', 1000);

beta0_C=[0 0 0 0];

[beta_C,Res_C_val,J_C,COVB_C,mse_C] = nlinfit(C_x,log10(C_cal_all(:,11)),myfunc_C,beta0_C,options_C);

beta_C;

beta_C_all(j,:)=beta_C;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

C_pred=10.^(beta_C(1).*((C_val_all(:,1))./(C_val_all(:,7)))+beta_C(2).*((C_val_all(:,2))./(C_val_all(:,7)))+beta_C(3).*((C_val_all(:,4))./(C_val_all(:,7)))+beta_C(4));

Res_C_val=(C_pred-C_val_all(:,11));

rsqr_Cval=(corr(C_pred,C_val_all(:,11)))^2;

RMSE_C_val=sqrt(mean(Res_C_val.^2));

APD_C_val=sum(abs(Res_C_val)./CDOM_val_all(:,11))./size(C_val_all(:,11))*100;

C_pred_all_val(j)=C_pred;

rsqr_C_all_val(j)=rsqr_C_val;

RMSE_C_all_val(j)=RMSE_C_val;

APD_C_all_val(j)=APD_C_val(1);

scatter(C_val_all(:,11),CDOM_pred,100,'k','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','k');

axis([0 10 0 10]);

hold on

end

beat_cdom_mean=mean(beta_CDOM_all);

statics=[data(:,11) CDOM_pred_all_val APD_CDOM_all_val RMSE_CDOM_all_val];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值