優化matlab作業,現代設計優化算法MATLAB實現

開篇語

前陣子做現代設計方法的時候,發現網上很是缺乏這種作業形式的簡易算法實現,所以特地來簡書寫一篇。有兩份,一份是我的(說來慚愧,我的大部分都是在網上找的代碼,然后在自己的電腦上跑一次,跑出來了就行了的。而且我的電腦跑到2-11就撲街了。暫時還沒有拿去修,所以,其實我的代碼都是在網上整理之后調整了下就上的,準確性不敢保證)另一份是我的室友的,據他說是全部經過調試的,雖然還是有不少的錯誤,但是應該比我的要好一點。

f4efe9f0dfd7

我的電腦

另外,我的電腦因為崩了,所以我的代碼無法驗證結果,為了交作業,只能把我的室友的那些運行結果直接上一遍了。估計有點出入,見諒,重要的是代碼

正文

2-10

f4efe9f0dfd7

2-10

我的:

黃金分割法:

f=@(x) x+20/x

golden(f,2,10,0.01)

function[xmin]=golden(f,a,b,e)

k=0;

a1=b-0.618*(b-a); %插入點的值

a2=a+0.618*(b-a);

while b-a>e %循環條件

y1=subs(f,a1);

y2=subs(f,a2);

if y1>y2 %比較插入點的函數值的大小

a=a1; %進行換名

a1=a2;

y1=y2;

a2=a+0.618*(b-a);

else

b=a2;

a2=a1;

y2=y1;

a1=b-0.618*(b-a);

end

k=k+1;

end %迭代到滿足條件為止就停止迭代

xmin=(a+b)/2;

fmin=subs(f,xmin) %輸出函數的最優值

fprintf('k=\n'); %輸出迭代次數

disp(k);

f = @(x)x+20/x

>> [x,y]=golden(f,2,10,0.01)

x =

4.4683

y =

8.9443

二次插值法:

f=@(x) x+20/x;

a=2;b=10;

eps=1.0e-6; % 計算精度

x1=a;x3=b;

x2=(a+b)/2;

f1 = f(x1);f2 = f(x2);f3 = f(x3);

while 1

C1=(x2^2-x3^2)*f1+(x3^2-x1^2)*f2+(x1^2-x2^2)*f3;

C2=(x2-x3)*f1+(x3-x1)*f2+(x1-x2)*f3;

xp=0.5*C1/C2;

fp= f(xp);

if abs(x2-xp)<=eps % 區間長度小于eps時

if abs(f2-fp)<=eps % df小于eps時退出

if fp<=f2

xmin = xp

fmin = f(xp) % 極小值

break;

else

xmin = x2

fmin = f(x2) % 極小值

break;

end

end

else

if fp<=f2

if xp<=x2

x3=x2;

x2=xp;

f3=f2;

f2=fp;

else

x1=x2;

x2=xp;

f1=f2;

f2=fp;

end

else

if xp<=x2

x1=xp;

f1=fp;

else

x3=xp;

f3=fp;

end

end

end

end

f=x+20/x;[xmin,fmin]=main(f,2,10,0.01)

xmin =

4.4869

fmin =

8.9443

室友的:

黃金分割法函數:

f=@(x) x+20/x

yellowking(f,2,10,0.01)

function[xmin]=yellowking(f,a,b,e)

k=0;

a1=b-0.618*(b-a); %插入點的值

a2=a+0.618*(b-a);

while b-a>e %循環條件

y1=subs(f,a1);

y2=subs(f,a2);

if y1>y2 %比較插入點的函數值的大小

a=a1; %進行換名

a1=a2;

y1=y2;

a2=a+0.618*(b-a);

else

b=a2;

a2=a1;

y2=y1;

a1=b-0.618*(b-a);

end

k=k+1;

end %迭代到滿足條件為止就停止迭代

xmin=(a+b)/2;

fmin=subs(f,xmin) %輸出函數的最優值

fprintf('k=\n'); %輸出迭代次數

disp(k);

結果指令:

f=@(x)x+20/x

f =

@(x)x+20/x

>> [x,y]=gold(f,2,10,0.01)

x =

4.4683

y =

8.9443

二次插值法函數:

function [xmin,fmin]= main(f,a0,b0,epsilon)

a=a0;

b=b0;

x1=a;

f1=f(x1);

x3=b;

f3=f(x3);

x2=5;

f2=f(x2);

c1=(f3-f1)/(x3-x1);

c2=((f2-f1)/(x2-x1)-c1)/(x2-x3);

xp=0.4*(x1+x3-c1/c2);fp=f(xp);

while (abs(xp-x2)>=epsilon)

if x2

if f2>fp

f1=f2;x1=x2;

x2=xp;f2=fp;

else

f3=fp;x3=xp;

end

else

if f2>fp

f3=f2;x3=x2;

f2=fp;x2=xp;

else

f1=fp;x2=xp;

end

end

c1=(f3-f1)/(x3-x1);

c2=((f2-f1)/(x2-x1)-c1)/(x2-x3);

xp=0.5*(x1+x3-c1/c2);

fp=f(xp);

end

if f2>fp

xmin=xp;fmin=f(xp);

else

xmin=x2;fmin=f(x2);

end

end

結果:

clear all;f=x+20/x;[xmin,fmin]=main(f,2,10,0.01)

xmin =

4.4869

fmin =

8.9443

2-11

f4efe9f0dfd7

2-11

我的:

2-11

function [k ender]=steepest(f,x,e)

%梯度下降法,f為目標函數(兩變量x1和x2),x為初始點,如[3;4]

syms x1 x2 m; %m為學習率

d=-[diff(f,x1);diff(f,x2)]; %分別求x1和x2的偏導數,即下降的方向

flag=1; %循環標志

k=0; %迭代次數

while(flag)

d_temp=subs(d,x1,x(1)); %將起始點代入,求得當次下降x1梯度值

d_temp=subs(d_temp,x2,x(2)); %將起始點代入,求得當次下降x2梯度值

nor=norm(d_temp); %范數

if(nor>=e)

x_temp=x+m*d_temp; %改變初始點x的值

f_temp=subs(f,x1,x_temp(1)); %將改變后的x1和x2代入目標函數

f_temp=subs(f_temp,x2,x_temp(2));

h=diff(f_temp,m); %對m求導,找出最佳學習率

m_temp=solve(h); %求方程,得到當次m

x=x+m_temp*d_temp; %更新起始點x

k=k+1;

else

flag=0;

end

end

ender=double(x); %終點

end

syms x1 x2;

f=x1^2+x2^2-x1*x2-10*x1-4*x2+60;

x=[0;0];

e=0.01;

[k ender]=steepest(f,x,e)

ender =

7.9961

5.9971

室友的:

2-11:

梯度函數:

function [k,ender]=tidu(f,x,e)

syms x1 x2 m;

d=-[diff(f,x1);diff(f,x2)];

flag=1;

k=0;

while(flag)

d_temp=subs(d,x1,x(1));

d_temp=subs(d_temp,x2,x(2));

nor=norm(d_temp);

if(nor>=e)

x_temp=x+m*d_temp;

f_temp=subs(f,x1,x_temp(1));

f_temp=subs(f_temp,x2,x_temp(2));

h=diff(f_temp,m);

m_temp=solve(h);

x=x+m_temp*d_temp;

k=k+1;

else

flag=0;

end

end

ender=double(x);

end

結果指令:

syms x1 x2;

f=x1^2+x2^2-x1*x2-10*x1-4*x2+60;

x=[0;0];

e=0.01;

[k ender]=tidu(f,x,e)

ender =

7.9961

5.9971

f4efe9f0dfd7

2-12

我的:

2-12

展開為二階泰勒式

syms x1 x2;

taylor(x1^4+2*x2^3-3*x1^2*x2)

ans =

3*x2 - 2*x1 - 6*(x1 - 1)*(x2 - 1) + 3*(x1 - 1)^2 + 6*(x2 - 1)^2 - 1

牛頓法求解:

function all=newton(f,x,e)

syms x1 x2 h;

d=-[diff(f,x1);diff(f,x2)];

h=hessian(f);

flag=1;

h1=h^-1;

while (flag)

d_temp=subs(d,x1,x(1));

d_temp=subs(d_temp,x2,x(2));

nor=norm(d_temp);

if(nor>=e)

x=x+h1*d_temp;

else

flag=0;

end

end

all=double(x);

結果指令:

clear all

>> syms x1 x2;

f=3*x2 - 2*x1 - 6*(x1 - 1)*(x2 - 1) + 3*(x1 - 1)^2 + 6*(x2 - 1)^2 - 1;

x=[1;1];

e=0.01;all=newton(f,x,e)

all =

1.1667

0.8333

室友的:

2-12:

展開為二階泰勒式

syms x1 x2;

taylor(x1^4+2*x2^3-3*x1^2*x2)

ans =

3*x2 - 2*x1 - 6*(x1 - 1)*(x2 - 1) + 3*(x1 - 1)^2 + 6*(x2 - 1)^2 - 1

牛頓函數:

function all=newton(f,x,e)

syms x1 x2 h;

d=-[diff(f,x1);diff(f,x2)];

h=hessian(f);

flag=1;

h1=h^-1;

while (flag)

d_temp=subs(d,x1,x(1));

d_temp=subs(d_temp,x2,x(2));

nor=norm(d_temp);

if(nor>=e)

x=x+h1*d_temp;

else

flag=0;

end

end

all=double(x);

結果指令:

clear all

>> syms x1 x2;

f=3*x2 - 2*x1 - 6*(x1 - 1)*(x2 - 1) + 3*(x1 - 1)^2 + 6*(x2 - 1)^2 - 1;

x=[1;1];

e=0.01;all=newton(f,x,e)

all =

1.1667

0.8333

f4efe9f0dfd7

2-13(1)

我的:

2-13(1)

外點懲罰函數法:

function [ x,y ] = Epfm_min( fx,gx,hx,xx0,s,c,a)

%fx是目標函數

%gx是不等式約束方程組(且g>=0)

%xx0是初始點

%hx是等式約束方程組(且h=0)

%s是精確度(s>0)

%c是放大系數(c>1)

%a是罰因子(默認為1)

syms x1 x2

xx1=xx0;

v=[x1,x2];

a1=a;

Pxk=1;%假設Px等于1,以免不必要錯誤

G=-subs(gx,v,xx1);%用于判別max{0,-g(x)}

while Pxk>s

if(G<0)

Px=a1*hx*hx;

else

Px=a1*hx*hx+a1*gx*gx;

end

Fx=fx+a1*Px;%將約束問題化為了一個無約束的問題

% 接下來解min F(x)

dFx1=diff(Fx,x1);%分別對x1,x2求偏導數

dFx2=diff(Fx,x2);

[k,b]=solve(dFx1,dFx2,'x1','x2');%求出

xx2=xx1+[k,b];

Pxk=a1*subs(Px,v,xx2);

xx1=xx2;%相當于置k=k+1

a1=c*a1;%罰因子放大

G=-subs(gx,v,xx1);%用于判別max{0,-g(x)}

end

x=xx1;

y=a1/c;

syms x1 x2;

fx=x1+x2;

gx=-x1;

hx=x1^2-x2;

s=10.^-5

c=10

xx0=[0,0]

a=1;

[x,y]=Epfm_min( fx,gx,hx,xx0,s,c,a)

>> x=[0.1;0.2];k=0.1;e=0.01;r=1;[x,minf]= Epfm_min (p,x,k,r,e)

x =

0.0015

minf =

0.0030

Ans=

0.0045

內點懲罰函數法

function [x,minf]=minNF(f,x0,g,u,v,var,eps)

format long;

if nargin==6

eps=1.0e-4;

end

k=0;

FE=0;

for i=1:length(g)

FE=FE+1/g(i);

end

x1=transpose(x0);

x2=inf;

while 1

FF=u*FE;

SumF=f+FF;

[x2,minf]=minNT(SumF,transpose(x1),var);

Bx=Funval(FE,var,x2);

if u*Bx

if norm(x2-x1)<=eps

x=x2;

break;

else

u=v*u;

x1=x2;

end

else

if norm(x2-x1)<=eps

x=x2;

break;

else

u=v*u;

x1=x2;

end

end

end

minf=Funval(f,var,x);

format short;

syms x1 x2 r1;

>> p=taylor(x1+x2-r1*(1/(x1^2-x2)-1/x1),[x1 x2],[0.001 0.002],'Order',3);

>> x=[0.1;0.2];k=0.1;e=0.01;r=1;[x,minf]= minNF(p,x,k,r,e)

x =

0.0015

minf =

0.0030

Ans=

0.0045

室友的:

2-13:

內點:

懲罰函數:

function anll=neicheng(p,x,k,r,e)

syms x1 x2 r1;

flag1=1;

while (flag1)

pd=subs(p,r1,r);

xold=x;

flag2=1;

while (flag2)

dp=-[diff(pd,x1);diff(pd,x2)];

h=hessian(pd,[x1,x2]);

h1=h^-1;

dp_temp=subs(dp,x1,x(1));

dp_temp=subs(dp_temp,x2,x(2));

nor=norm(dp_temp);

if(nor>=e)

x=x+h1*dp_temp;

else

flag2=0;

end

end

x_temp=x;

nor2=norm(x_temp-xold);

if double(nor2)>=e

r=k*r;

else

flag1=0;

end

end

anll=double(x);

結果:

clear all; syms x1 x2 r1;

>> p=taylor(x1+x2-r1*(1/(x1^2-x2)-1/x1),[x1 x2],[0.001 0.002],'Order',3);

>> x=[0.1;0.2];k=0.1;e=0.01;r=1;anll=neicheng(p,x,k,r,e)

anll =

0.0015

0.0030

Ans=

0.0045

外點:

懲罰函數:

function annn=waicheng(p,x,k,r,e)

syms x1 x2 r1;

flag1=1;

while (flag1)

pd=subs(p,r1,r);

xold=x;

flag2=1;

while (flag2)

dp=-[diff(pd,x1);diff(pd,x2)];

h=hessian(pd,[x1,x2]);

h1=h^-1;

dp_temp=subs(dp,x1,x(1));

dp_temp=subs(dp_temp,x2,x(2));

nor=norm(dp_temp);

if(nor>=e)

x=x+h1*dp_temp;

else

flag2=0;

end

end

x_temp=x;

nor2=norm(x_temp-xold);

if double(nor2)>=e

r=k*r;

else

flag1=0;

end

end

annn=double(x);

結果:

clear all; syms x1 x2 r1;

p=taylor(x1+x2,[x1 x2],[0.001 0.002],'Order',3);

x=[0.1;0.2];k=0.1;e=0.01;r=1;annn=waicheng(p,x,k,r,e)

annn =

0.0015

0.0030

Ans=

0.0045

f4efe9f0dfd7

2-14

我的(貌似這題抄的他的):

2-14

function [x,minf] = minMixFun(f,g,h,x0,r0,c,var,eps)

gx0 = Funval(g,var,x0);

if gx0 >= 0;

else

disp('初始點必須滿足不等式約束!');

x = NaN;

minf = NaN;

return;

end

if r0 <= 0

disp('初始障礙因子必須大于0!');

x = NaN;

minf = NaN;

return;

end

if c >= 1 || c < 0

disp('縮小系數必須大于0且小于1!');

x = NaN;

minf = NaN;

return;

end

if nargin == 7

eps = 1.0e-6;

end

FE = 0;

for i=1:length(g)

FE = FE + 1/g(i);

end

FH = transpose(h)*h;

x1 = transpose(x0);

x2 = inf;

while 1

FF = r0*FE + FH/sqrt(r0);

SumF = f + FF ;

[x2,minf] = minNT(SumF,transpose(x1),var);

if norm(x2 - x1)<=eps

x = x2;

break;

else

r0 = c*r0;

x1 = x2;

end

end

minf = Funval(f,var,x);

Funval.m

function fv = Funval(f,varvec,varval)

var = findsym(f);

varc = findsym(varvec);

s1 = length(var);

s2 = length(varc);

m =floor((s1-1)/3+1);

varv = zeros(1,m);

if s1 ~= s2

for i=0: ((s1-1)/3)

k = findstr(varc,var(3*i+1));

index = (k-1)/3;

varv(i+1) = varval(index+1);

end

fv = subs(f,var,varv);

else

fv = subs(f,varvec,varval);

end

Syms x1 x2;

f=x1^2-x2^2-3*x2;

g=1-x1;

h=x2-2;

[x,minf]=minMixFun(f,g,h,[2,2],2,0.5,[x1 x2 ],0.001)

x =

1.0015

minf=

2.0002

室友的:

2-14:

混合:

懲罰函數:

function [x,minf] = MixPunish(f,g,h,x0,r0,c,var,eps)

gx0 = Funval(g,var,x0);

if gx0 >= 0;

else

disp('初始點必須滿足不等式約束!');

x = NaN;

minf = NaN;

return;

end

if r0 <= 0

disp('初始障礙因子必須大于0!');

x = NaN;

minf = NaN;

return;

end

if c >= 1 || c < 0

disp('縮小系數必須大于0且小于1!');

x = NaN;

minf = NaN;

return;

end

if nargin == 7

eps = 1.0e-6;

end

FE = 0;

for i=1:length(g)

FE = FE + 1/g(i);

end

FH = transpose(h)*h;

x1 = transpose(x0);

x2 = inf;

while 1

FF = r0*FE + FH/sqrt(r0);

SumF = f + FF ;

[x2,minf] = minNT(SumF,transpose(x1),var);

if norm(x2 - x1)<=eps

x = x2;

break;

else

r0 = c*r0;

x1 = x2;

end

end

minf = Funval(f,var,x);

Funval.m

function fv = Funval(f,varvec,varval)

var = findsym(f);

varc = findsym(varvec);

s1 = length(var);

s2 = length(varc);

m =floor((s1-1)/3+1);

varv = zeros(1,m);

if s1 ~= s2

for i=0: ((s1-1)/3)

k = findstr(varc,var(3*i+1));

index = (k-1)/3;

varv(i+1) = varval(index+1);

end

fv = subs(f,var,varv);

else

fv = subs(f,varvec,varval);

end

Syms x1 x2;

f=x1^2-x2^2-3*x2;

g=1-x1;

h=x2-2;

[x,minf]=MixPunish(f,g,h,[2,2],2,0.5,[x1 x2 ],0.001)

x =

1.0015

minf=

2.0002

結束語

無聊到這地步想必也是沒誰了。不過,剛考完,我總不能一直玩手機啊。前幾天重新看《盤龍》讓我在手機上剛了一星期,不能再這么毫無節制的玩耍了,但是又不想學習,所以只好寫簡書了~~

不過網上畢竟這方面的資源不是很多,我就算是為后來人做點好事吧,讓你們好找一點~~

個人宣言

知識傳遞力量,技術無國界,文化改變生活!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/533565.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/533565.shtml
英文地址,請注明出處:http://en.pswp.cn/news/533565.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

怎樣用python畫玫瑰花的簡筆畫_玫瑰花簡筆畫素描作品圖片

玫瑰原產是中國。在古時的漢語&#xff0c;“玫瑰”一詞原意是指紅色美玉。玫瑰花這么漂亮&#xff0c;素描怎么畫得好看呢?你知道玫瑰花的簡筆畫素描是怎樣的嗎?今天先和學習啦小編一起欣賞這些玫瑰花簡筆畫素描圖片&#xff0c;希望你會有所收獲的。玫瑰花簡筆畫素描圖片欣…

多因子選選股MATLAB代碼,金工研報:利用卷積神經網絡進行多因子選股

首先&#xff0c;我們先來看一下通過卷積神經網絡選股模型的整體流程&#xff0c;然后再根據每一步流程進行介紹&#xff0c;具體如下圖所示&#xff1a;1、數據獲取用于歷史回測數據來自所有A股股票&#xff0c;其中剔除了ST股以及上市3個月的股票&#xff0c;另外&#xff0c…

python list tuple 打包 解包_python的打包與解包

python的*與**&#xff0c;在函數的定義與調用過程中&#xff0c;有著不同的作用打包參數&#xff1a;一、函數定義時&#xff0c;形參前加*號(如&#xff1a;*args)&#xff1a;收集實參中所有的位置參數&#xff0c;打包成新元組并將該元組賦值給args變量實參位置參數&#x…

python 成員函數 泛型函數_【一點資訊】白學這么多年 Python?連泛型函數都不會寫? www.yidianzixun.com...

泛型&#xff0c;如果你嘗過java&#xff0c;應該對他不陌生吧。但你可能不知道在 Python 中(3.4 )&#xff0c;也可以實現 簡單的泛型函數。在Python中只能實現基于單個(第一個)參數的數據類型來選擇具體的實現方式&#xff0c;官方名稱 是single-dispatch。你或許聽不懂&…

matlab bad apple,【bad apple】matlab制作矩陣蘋果~

有屏幕的地方就有bad apple那么作為一名工科生&#xff0c;熟練的操♂作馬桶蘿卜(matlab)是一項基本技能下面開始講解如何用matlab制作別具一格的“矩陣蘋果”~實驗環境matlab R2018a原版bad apple視頻技術要求可以即時演算圖形可以將處理后的每幀圖形合并成新的視頻先上代碼%t…

服務器ip直接訪問php怎么寫,php - 如何實現用公網ip訪問到服務器上的網頁?

服務器系統是Windows Server 2012 R2&#xff0c;已經部署了IIS、PHP和MySQL&#xff0c;能夠在云服務器上通過localhost打開php網頁&#xff0c;(放在服務器wwwroot上的index.php)已在ISS管理器中添加網站&#xff0c;但編輯網站綁定時&#xff0c;在ip地址中填入了服務器的公…

vb6 打印選項對話框_圖紙打印次數太多,不知道哪次才是最新的?用打印戳記區分效果好...

原創&#xff1a;就說我在開發區使用AutoCAD從事設計工作的朋友們不知道有沒遇到過這種情況&#xff1a;圖紙在反復修改打印的過程中&#xff0c;由于圖紙內容高度相似&#xff0c;往往搞不清究竟哪個才是最新版本的圖紙了。這種情況下&#xff0c;細致入微地去核對非常麻煩&am…

安卓文本編輯器php cpp,用安卓原生控件封裝一個簡易的富文本編輯器

最近接到項目需求&#xff1a;移動端原生寫一個富文本編輯器。 ( ⊙ o ⊙ )從沒遇到過富文本要用原生寫的&#xff0c;然后就查閱各種資料。然后結合自己的思路&#xff1a;其實安卓的富文本編輯器就是一個 “容器”。那么接下來我就帶給大家說一說我自定義這個富文本編…

python和nltk自然語言處理書評_Python和NLTK自然語言處理

模塊1 NLTK基礎知識第 1章 自然語言處理簡介 31.1 為什么要學習NLP 41.2 從Python的基本知識開始 71.2.1 列表 71.2.2 自助 81.2.3 正則表達式 91.2.4 詞典 111.2.5 編寫函數 111.3 NLTK 131.4 試一試 181.5 本章小結 18第 2章 文本的整理和清洗 192.…

vue tab切換_iviewUITabs選項卡切換組件

概述 選項卡切換組件&#xff0c;常用于平級區域大塊內容的的收納和展現。源碼地址&#xff1a;https://github.com/iview/iview/tree/2.0/src/components/tabs使用&#xff1a; 標簽一的內容標簽二的內容標簽三的內容標簽二的內容在源碼的tabs文件下有三個文件&#xff1a;ind…

java biginteger 比較大小,java – 打印非常大的BigIntegers

我試圖找出與Java 7 x64中的BigIntegers相關的以下問題.我試圖計算一個極高功率的數字.代碼如下,然后是問題描述.import java.math.BigInteger;public class main {public static void main(String[] args) {// Demo calculation; Desired calculation: BigInteger("4096&…

paypal創建訂單后怎么獲得id_5步創建Facebook商店(最新版教程)學習如何在Facebook上賣貨...

請按照以下步驟設置Facebook商店&#xff1a;步驟1&#xff1a;轉到您的Facebook頁面并配置Shop頁面。步驟2&#xff1a;設置您的商店詳細信息。步驟3&#xff1a;配置付款。步驟4&#xff1a;將產品添加到您的Facebook商店。步驟5&#xff1a;管理您的訂單。步驟6&#xff1a;…

php 網絡圖片 轉本地,PHP將Base64圖片轉換為本地圖片并保存

PHP將Base64圖片轉換為本地圖片并保存/*** [將Base64圖片轉換為本地圖片并保存]* param [Base64] $base64_image_content [要保存的Base64]* param [目錄] $path [要保存的路徑]*/function base64_image_content($base64_image_content,$path){//匹配出圖片的格式if (preg_matc…

創建索引名稱已由現有對象使用_Excel編程周末速成班第3課:Excel對象模型

學習Excel技術&#xff0c;關注微信公眾號&#xff1a;excelperfect導語&#xff1a;為了幫助想要快速學會Excel VBA的朋友&#xff0c;特以《Excel Programming Weekend Crash Course》這本書為基礎&#xff0c;開始整理一系列資料&#xff0c;在完美Excel社群上分享。一共有3…

php修改htpasswd,用來解析.htpasswd文件的PHP類

.htpasswd 文件示例&#xff1a;user1:{SHA}kGPaD671VNU0OU5lqLiN/h6Q6acuser2:{SHA}npMqPEX3kPQTox/ZckHDrIcQIuser3:{SHA}q1Fh2LTUjjkncp11m0M9WUH5Zrwclass Htpasswd {private $file ;private $salt AynlJ2H.74VEfI^BZElc-Vb6G0ezE9a55-Wj;private function write($pairs …

socket用起始碼分割_常用條碼Code128碼及EAN13碼的介紹

在條碼打印軟件中&#xff0c;設計條碼標簽時經常用到的碼制是Code128碼和EAN13碼。因為這兩種碼制比較貼近我們的生活。比如&#xff1a;我們去超市購物&#xff0c;商品上貼的條碼標簽都是EAN13碼&#xff0c;因為EAN13碼多用于零售產品包裝。而code128碼多用于工廠產線&…

matlab在c盤有緩存文件夾嗎,win10如何清除C盤緩存文件-win10清除C盤緩存的方法 - 河東軟件園...

在電腦的使用過程中我們會發現磁盤的容量會不斷減小&#xff0c;更多時候其他磁盤還有很多剩余空間&#xff0c;C盤的存儲空間就已經達到極限了。其實在系統的升級和軟件的下載中很多文件就會默認儲存在C盤&#xff0c;時間久了以后&#xff0c;C盤不僅有軟件文件&#xff0c;還…

php 驗證碼字體居中,自定義驗證碼圖片的寬高后文本垂直水平居中[帝國cms ShowKey.php]-網站程序網...

define(EmpireCMSAdmin,1);define(EmpireCMSAPage,login);define(EmpireCMSNFPage,1);require(../class/connect.php);//繪制居中文本, 對于GD的內置字體function pc_ImageStringCenter($image,$text,$font){//字體大小$width array(1>5,6,7,8,9);$height array(1>6,8,…

python中的常量可以修改嗎_深入理解Python變量與常量

變量是計算機內存中的一塊區域&#xff0c;變量可以存儲規定范圍內的值&#xff0c;而且值可以改變。基于變量的數據類型&#xff0c;解釋器會分配指定內存&#xff0c;并決定什么數據可以被存儲在內存中。常量是一塊只讀的內存區域&#xff0c;常量一旦被初始化就不能被改變。…

java方法體邏輯不會寫怎么辦,想自己寫框架?不會寫Java注解可不行

用注解一時爽&#xff0c;一直用一直爽Java后端開發進入spring全家桶時代后&#xff0c;開發一個微服務提供簡單的增刪改查接口跟玩泥巴似的非常簡單&#xff0c;一頓操作猛如虎&#xff0c;回頭一看代碼加了一堆注解&#xff1a;Controller Autowired Value&#xff0c;面向注…