我是靠谱客的博主 还单身小懒虫,最近开发中收集的这篇文章主要介绍numel(x)=1 matlab,试图访问 x(2);由于 numel(x)=1,索引超出范围。,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

遗传算法错误提示:试图访问 x(2);由于 numel(x)=1,索引超出范围。

以下程序代码:

function f = fun(x)

Q = 5; % 耗散功率,单位 W

I = 1;  % 电流数值 A

Ta = 303.15; %环境温度,单位K

T_d = 333.15; %热源温度,单位K

Rnc_ = 10; %自然对流热阻,单位K/W

delta = 0.00007; % A 导热胶厚度,单位 m

lambda = 3;       % B 导热系数,单位 W/m K

delta_epsilon = 0.03;    % a热源边长,单位 m

Ad = delta_epsilon^2;    %  Ad 热源面积,单位 m^2

Rid = delta/lambda/Ad; % Rid 界面热阻,单位 K/W

T_cmax = T_d-Q*Rid; % Tc,max界面最高温度,单位 K

L = 0.03;% TEC边长,单位 m

L1 = L;

L2 = L;

epsilon_1 = 0.015; % 热源中心坐标,单位 m

epsilon_2 = 0.015; % 热源中心坐标,单位 m

x = epsilon_1;

x_ = x/L;  % x-,单位 m

y = epsilon_2;

y_ = y/L;  % y-,单位 m

epsilon_1_ = x_;  % ξ1-

epsilon_2_ = y_;  % ξ2-

delta_epsilon_1 = delta_epsilon/2;

delta_epsilon_2 = delta_epsilon/2;

adelta_epsilon_1_ = delta_epsilon_1/L; % Δξ1-

adelta_epsilon_2_ = delta_epsilon_2/L; % Δξ2-

M = [epsilon_1_-adelta_epsilon_1_,epsilon_1_+adelta_epsilon_1_]; % M 区域的集合范围

alpha = 0.054; % 塞贝克系数,单位V/K

K = 0.537; % 热导,单位W/K

d = 0.001; % 氧化铝陶瓷板厚度,单位m

kc = 16.75; % 陶瓷板导热系数,单位W/m K

R = 2.2; % 电阻,单位Ω

B1 = (alpha*I+K)/kc/d*L^2; %

B2 = B1;

m1 = sinh(2*(B2.^0.5)); %计算p1中间步骤;

m2 = (m1/2/(B2.^0.5)+1)^-1;  %是否有误要加^-1

m3 = B2*((1.5-m2)^-1); %计算p1中间步骤

p1 = L1/L2*(m3.^0.5);

p2 = p1;

K1 = 2*sinh(p1*adelta_epsilon_1_).*cosh(p1*(1-epsilon_1_))/sinh(p1);

K2 = K1;

fai_1 = K1*cosh(p1*x_)-cosh(p1*(x_-epsilon_1_+adelta_epsilon_1_))+1;

fai_2 = fai_1;

fai_1_ =  K1./p1.*sinh(p1)-2*cosh(p1.*(1-epsilon_1_)).*sinh(p1.*adelta_epsilon_1_)/p1+2*adelta_epsilon_1_;

fai_2_ = fai_1_;

fai_2 = fai_1 ;

Rcsp = (fai_1 .*fai_2-fai_1_.*fai_2_).*L1*L2./4*delta_epsilon_1.*delta_epsilon_2.*(alpha*I+K); %冷端扩散热阻,单位K/W

Tc_ = T_cmax-Rcsp.*Q;  %冷端平均温度,单位K

QL = Q; %冷端吸收热量

RTEC = (QL-alpha.*I.*Tc_+1/2.*I.*I.*R)/K/QL; %TEC热阻,单位K/W

Th_ = Tc_-RTEC*QL; %热端平均温度,单位K

Qh = alpha.*I.*Th_+1/2.*I.*I.*R-K.*(Th_-Tc_); %热端吸热量,单位W

As = L*L; %TEC面积,单位m^2

Ri2 = delta/lambda/As; %界面热阻,单位K/W

Tbcon = Th_-Ri2*Qh; %界面平均温度,单位K

Ab = x(1)*x(2);% 散热器底座面积,单位m^2

Kb = 237; %底座导热系数,单位W/m K

m4 = 1/2/Kb/As^0.5*(1-(As/Ab)^0.5)^1.5;

m5 = (Ab^0.5-As^0.5)/Kb/(pi*Ab*As)^0.5;

m6 = pi^1.5/Ab^0.5+1/As^0.5;

m7 =(m6*Kb*Ab*Rnc_+tanh(m6*x(3)))/(1+m6*Kb*Ab*Rnc_*tanh(m6*x(3)));

Rcons = (m4-m5)*m7*Qh/QL; %热面紧缩热阻,单位K/W

Tbmax = Tbcon-QL*Rcons; % 底座最高温度,单位K

RTECt = Rcons+Ri2+RTEC+Rcsp+Rid; %汇总TEC的总热阻,单位K/W

Rsp = m5*m7*Qh/QL;%底座扩散热阻,单位K/W

Tb_ = Tbmax-Rsp*QL;%底座平均温度,单位K

Rb = x(3)/Kb/Ab*Qh/QL;%底座热阻,单位K/W

Tf_ = Tb_-Rb*QL; %肋片的平均温度,单位K

S = 0.0012;%肋片间距,单位m

H = 0.025;%肋片高度,单位m

delta_f = 0.001;%肋片厚度,单位m

N = floor((x(1)+S)/(delta_f+S));%肋片数目

AT = (2*H*x(2)+2*H*delta_f+delta_f*x(2))*N;%肋片面积,单位m^2

epsilon_f = 0.85;

Kf = 0.0267; %导热系数,单位W/m K

g = 9.8; %重力加速度,单位m/s^2

beta = 0.00333;%膨胀系数,单位1/K

T_ = Tf_-Ta;  %温差,单位K

Va = 0.000016;%运动黏度,单位m^2/s

alphaa = 2.29E-05; %热扩散系数,单位m^2/s

Ra = g*beta*T_*S^3/Va/alphaa;

k1 = 5.67E-08;%黑体常数,单位W/m2 K4

Pr = 0.701;

Gr = Ra/Pr;

NR = k1.*Ta^4.*S./Kf./T_./Gr.^0.25;

m8 = ((1+epsilon_f)./(1+NR)).^0.1;

Rnc = (0.102.*Ra.^0.36.*(S/H).^0.4.*m8.*(N.^-0.04).*Kf.*AT/S).^-1.*Qh/QL; %对流换热热阻,单位K/W

Ta_ = Tf_-QL*Rnc;%计算的环境温度,单位K

RHS = Rsp+Rb+Rnc;

f = RTECt+RHS;

最后

以上就是还单身小懒虫为你收集整理的numel(x)=1 matlab,试图访问 x(2);由于 numel(x)=1,索引超出范围。的全部内容,希望文章能够帮你解决numel(x)=1 matlab,试图访问 x(2);由于 numel(x)=1,索引超出范围。所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部