matlab中报错,索引超出矩阵维度该如何改?

图片说明图片说明

尝试用程序把Inimg和Staimg图像都改成512*512的,和把两个图像像素改成一样大小,但是还是超出维度,怎么办?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
MATLAB 索引超出矩阵维度。

开始运行程序没问题,后面在今天用的时候突然提示“索引超出矩阵维度。”我代码和数据集都没换过。。。不知道原因,求大神解一下 ``` function [acc,G,Cls] = GFK(X_src,Y_src,X_tar,Y_tar,dim) Ps = pca(X_src); Pt = pca(X_tar); G = GFK_core([Ps,null(Ps')], Pt(:,1:dim)); [Cls, acc] = my_kernel_knn(G, X_src, Y_src, X_tar, Y_tar); end function G = GFK_core(Q,Pt) N = size(Q,2); % dim = size(Pt,2); % compute the principal angles QPt = Q' * Pt; [V1,V2,V,Gam,Sig] = gsvd(QPt(1:dim,:), QPt(dim+1:end,:)); V2 = -V2; theta = real(acos(diag(Gam))); % theta is real in theory. Imaginary part is due to the computation issue. % compute the geodesic flow kernel eps = 1e-20; B1 = 0.5.*diag(1+sin(2*theta)./2./max(theta,eps)); B2 = 0.5.*diag((-1+cos(2*theta))./2./max(theta,eps)); B3 = B2; B4 = 0.5.*diag(1-sin(2*theta)./2./max(theta,eps)); G = Q * [V1, zeros(dim,N-dim); zeros(N-dim,dim), V2] ... * [B1,B2,zeros(dim,N-2*dim);B3,B4,zeros(dim,N-2*dim);zeros(N-2*dim,N)]... * [V1, zeros(dim,N-dim); zeros(N-dim,dim), V2]' * Q'; end ``` 我重新去下了原文件,还是提示索引超出矩阵维度。 此外还进行了断点测试,根本进不了GFK_core的函数里面![图片说明](https://img-ask.csdn.net/upload/201901/05/1546684734_37290.png)![图片说明](https://img-ask.csdn.net/upload/201901/05/1546684746_895315.png)

索引超出矩阵维度但是改不来

MATLAB的复化柯特斯公式,提示我索引超出矩阵维度,但是我改不来 function cotes(a,b) n=4; for i=1:5 x=a:(b-a)/4*n:b; m=4*n+1; h=(b-a)/n; s=(h/90)*(7*f1(a)+32*sum(f1(x(1:4:m-4)))+12*sum(f1(x(0:4:m-5)))+32*sum(f1(x(3:4:m-2)))+14*sum(f1(x(4:4:m-5)))+7*f1(b)); fprintf('s(%d))=%f\n',n,s); n=n*4; end 请各位大佬帮我看看

matlab dijkstra算法索引超出矩阵维度,求解?

算法中有一行是这样的: ``` temp2=find(d(index1)==d(temp)-a(temp,index1)) index2(temp)=index1(temp2(1)) %记录标号索引 ``` 我的数据是一个130*130的对称矩阵,第三次循环时发生问题,报错如图: ![图片说明](https://img-ask.csdn.net/upload/201909/12/1568255291_913389.png) 此时d(index1)和d(temp)-a(temp,index1)的值分别如下图中的第一个ans和第二个ans,temp2 如图 ![图片说明](https://img-ask.csdn.net/upload/201909/12/1568255496_710824.png) 我用了一个6*6的矩阵做测试的时候是没有问题的,求问为什么会报错呢?另,为什么temp2的值会是空的呢? 以下是完整代码: ``` % a=zeros(6); % a(1,2)=50;a(1,4)=40;a(1,5)=25;a(1,6)=10; % a(2,3)=15;a(2,4)=20;a(2,6)=25; % a(3,4)=10;a(3,5)=20; % a(4,5)=10;a(4,6)=25; % a(5,6)=55; % a=a+a' distance = xlsread('C:\Users\zhaojuan\Desktop\9月建模\distance.xlsx'); linjiejuzhen = xlsread('C:\Users\zhaojuan\Desktop\9月建模\邻接矩阵.xlsx'); linjiejuzhen = linjiejuzhen +linjiejuzhen'; a = distance.*linjiejuzhen; all(all(a==a')) %判断是否是对称矩阵 a(find(a == 0))=inf %将a=0的数全部替换为无强大 pb(1:length(a))=0;pb(1)=1; %当一个点已经求出到原点的最短距离时,其下标i对应的pb(i)赋1 index1=1 %存放存入S集合的顺序 index2=ones(1,length(a)) %存放始点到第i点最短通路中第i顶点前一顶点的序号 d(1:length(a))=inf;d(1)=0 %存放由始点到第i点最短通路的值 temp=1 %temp表示c1,算c1到其它点的最短路。 while sum(pb)<length(a) %看是否所有的点都标记为P标号 tb=find(pb==0) %找到标号为0的所有点,即找到还没有存入S的点 d(tb)=min(d(tb),d(temp)+a(temp,tb))%计算标号为0的点的最短路,或者是从原点直接到这个点,又或者是原点经过r1,间接到达这个点 tmpb=find(d(tb)==min(d(tb))) %求d[tb]序列最小值的下标 temp=tb(tmpb(1))%可能有多条路径同时到达最小值,却其中一个,temp也从原点变为下一个点 pb(temp)=1%找到最小路径的表对应的pb(i)=1 index1=[index1,temp] %存放存入S集合的顺序 d(index1) d(temp)-a(temp,index1) temp2=find(d(index1)==d(temp)-a(temp,index1)) index2(temp)=index1(temp2(1)) %记录标号索引 end d, index1, index2 ```

MATLAB索引超出矩阵维度,但是找不到错误

MATLAB的向量自回归拟合效果检验 clc clear all A=xlsread('9个指标.xlsx',1,'B2:J21'); %x轴是“9个指标”这一文件中B2单元格至J21单元格的部分 B=xlsread('系数矩阵.xlsx',1,'A1:I10'); %y轴是“系数矩阵”这一文件中A1单元格至I10单元格的部分 A1=log(A); %A中的每一个数取自然对数 C=zeros(size(A,1),size(A,2)); %生成一个与矩阵A行列数相同的零矩阵 [m,n]=size(A); %矩阵A的行列为m行n列 for i=1:m %for循环 for j=1:n C(i,j)=A1(i,:)*B(1:9,j)+B(10,j); end %% end x=2000:1:2018; %x从2000增加,步数为1,直到2018 A2=A1; A2(1,:)=[]; %A2矩阵第一行的元素取空 A2=exp(A2); %e的A2次方 C1=C; C1(20,:)=[]; C1=exp(C1); for i=1:9 figure plot(x,A2(:,i),'b*-','LineWidth',2); hold on %在做下一幅图时保持已有的图像 plot(x,C1(:,i),'r*-','LineWidth',2); legend('实际值',' 预测值'); %图例 hold off %在做下一幅图时替换原图 xlabel('年份', 'fontsize',12) %x轴是年份;y轴是增长率 ylabel('增长率','fontsize',12) set(gca, 'LineWidth',2); %调整线宽 set(gca,'FontSize',12); %调整字体大小 end 但是运行结果是错误的

matlab中 错误使用 * 内部矩阵维度必须一致。 出错 tmmcoupling (line 49) F = F*ff;

clear all clc %====================================================================== % Fibre simulation parameters lamdaD = 1.55e-6; %design wavelength lamda1 = 0.999*lamdaD; lamda2 = 1.001*lamdaD; step = 500; lambda = (lamda1:(lamda2-lamda1)/step:lamda2); %====================================================================== %For a grating of maximun reflectance R = 0.2 Rmax = 0.2; %required maximum reflectivity rmax = sqrt(Rmax); kacL = atanh(rmax); c = 3e8; %Speed of light h = 25e-9; t = linspace(0,1,2000); z = linspace(0,3000e-6,2000); v = 1;%Fringe visibilty %====================================================================== %Implementation of the transfer matrix method for solution of %coupled-mode equations L = 3000e-6; %length of grating in micrometers M = 100; dz = L/M; dzo = - L + 10.69e-3; %Distance between gratings kac = kacL/L; %"AC" coupling coefficient kdc = 2*kac/v; %"DC" coupling coefficient neff = 1+v*cos(cos(t)+2*pi*z./dz); %core index of photosensitive fibre for r = 1:step+1 w = lambda(r); F = [1 0; 0 1]; for s = 1:M det = 2*pi*neff*(1/w - 1/lamdaD); gdc = det + kdc; p1 = sqrt(kac.^2 - gdc.^2); p2 = gdc.^2/kac.^2; f11 = cosh(p1*dz) - 1i*(gdc./p1).*sinh(p1*dz); f12 = -1i*(kac./p1).*sinh(p1.*dz); f21 = 1i*(kac./p1).*sinh(p1*dz); f22 = cosh(p1*dz) + 1i*(gdc/p1).*sinh(p1*dz); ff = [f11 f12; f21 f22]; F = F*ff; end 提示我矩阵内部维度不一致,但是中断for循环后语句没有问题,请问该如何修改

matlab 索引超出数组范围

程序 clc,clear; [ vol0 ] = readtxt('DYNODE.VEL' ); vol1=[]; nd=1; md=1; row=length(vol0); col=length(vol0{1,1}); for i=2:row; md=1 for j=3:col; vol1(nd,md)=str2double(vol0{i}{j}); md=md+1; end nd=nd+1; end 程序出现索引超出数组范围的问题,请大神帮忙看看哪里不对。谢谢 vol0:32001*1cell

惩罚函数内点法算法索引超出矩阵维度为什么呀 求求求急急急!!!

这个代码我运行后总显示索引超出矩阵维度是为什么呀 求求求急急急!!! function f=fun(x,r) f=x(1,1)^2+x(2,2)^2-r*log(x(1,1)-1); function f=fh(x0,h,s,r)%步长的函数 h为步长 s为方向 r为惩罚因子 x1=x0+h*s f=fun(x1,r) function h=fsearchh(x0,r,s)%利用进退法确定高低高区间,利用黄金分割法进行求解 h1=0;%步长的初始点 st=0.001;%步长的步长 h2=h1+st; f1=fh(x0,h1,s,r); f2=fh(x0,h2,s,r); if f1>f2 h3=h2+st; f3=fh(x0,h3,s,r); while f2>f3 h1=h2; h2=h3; h3=h3+st; f2=f3; f3=fh(x0,h3,s,r); end else st=-st; v=h1; h1=h2; h2=v; v=f1; f1=f2; f2=v; h3=fh(x0,h3,s,r); while f2>f3 h1=h2; h2=h3;h3=h3+st; f2=f3; f3=fh(x0,h3,s,r); end end%得到高低高区间 a=min(h1,h3); b=max(h1,h3); %利用黄金分割点法进行求解 h1=1+0.382*(b-a); h2=1+0.618*(b-a); f1=fh(x0,h1,s,r); f2=fh(x0,h2,s,r); while abs(a-b)>0.0001 if f1>f2 a=h1;h1=h2; f1=f2; h2=a+0.618*(b-a); f2=fh(x0,f2,s,r); else b=h2; h2=h1; f2=f1; h1=a+0.382*(b-a); f1=fh(x0,h1,s,r); end end h=0.5*(a+b) function f=fsearchx(x0,r,epson) x00=x0; m=length(x0); s=zeros(m,1); for i=1:m s(i)=1; h=fsearchh(x0,r,s); x1=x0+h*s; s(i)=0; x0=x1; end while norm(x1-x00)>epson x00=x1; for i=1:m s(i)=1; h=fsearchh(x0,r,s); x1=x0+h*s; s(i)=0; x0=x1; end end f=x1; clear clc x0=[2;2];%给定初始点 r=1; c=0.1; epson=0.001; x1=fsearchx(x0,0.1,epson); while norm(x0-x1)>epson x0=x1; r=r*c x1=fsearchx(x0,r,epson) end disp x1

matlab上 不同维数矩阵的减法

matlab上 2x2矩阵怎么减3x3矩阵、或者 告诉我算法原理 手动怎么减也可以

【求助】matlab索引超出数组元素的数目

才开始学习matlab,有很多不懂,运行代码的时候显示: *索引超出数组元素的数目(1)。 出错 pm3 (line 30) ss=SeaSoctrm(wa(i),sita);_** 百度了很多还是不知道怎么解决,求大佬们点拨 ``` bita=0.74; g=9.81; u=10; t=1; x=1; m=200; n=200; lx=200; ly=lx; ffai=45.*pi./180; deltasita=pi/60; deltax=lx/m; deltay=ly/n; n1=50; n2=fix(2.*pi./deltasita)+1; wmin=g./u.*(log(2.*n1)./bita)^(-0.25); wa(1)=wmin; for i=1:n1 if i<n1 deltw(i)=g./u.*((log(n1./(i+0.5))./bita)^(-0.25)-(log(n1./(i-1+0.5))/bita)^(-0.25)); elseif i>1 wa(i)=wa(i-1)+deltw(i-1); end sita=-pi; for j=1:n2 ss=SeaSoctrm(wa(i),sita); SP(i,j)=sqrt(2.*ss.*deltw(i).*deltasita); sita=sita+deltasita; end end for i=1:m y=1; for j=1:n z=0; for h=1:n1 k(h)=wa(h)^2/g; sita=-pi; for l=1:n2 ipsl=rnunf()*2*pi; z1=SP(h,l)*cos(k(h)*x*cos(sita)+k(h)*y*sin(sita)-wa(h)*t+ipsl); z=z+z1; sita=sita+deltasita; end end y=y+deltay; x=x+deltax; end end ``` 然后是自定义的函数 ``` function sp=sptr(ww) g=9.81; bita=0.74; u=10; arfa=8.1*10^(-3); p=arfa*g^2./(ww^5); q=-1*bita*(g/(u*ww))^4; sp=p*exp(q); end ``` ``` function dn=Direc_new(ww,fai) u=10; g=9.81; ffai=45.*pi/180; w0=0.877.*g./u; if ww<=w0 mu=4.06; else mu=-2.34; end if (abs(fai-ffai)<pi/6|(fai-ffai)>5*pi/6&(fai-ffai)<pi|(fai-ffai)>-pi&(fai-ffai)<-5*pi/6) p=9.77.*(ww./w0)^mu; b=gamma(2.*p+1); d=gamma(p+1); normp=2.^(1-2.*p).*pi.*b./d^2; dn=(cos((fai-ffai)./2))^(2.*p)./normp; else dn=0; end end ``` ``` function [sspc]=SeaSoctrm(w1,fai) sspc=sptr(w1).*Direc_new(w1,fai); end ```

Matlab 中实现模拟退火算法出现索引大于矩阵维度问题

在这个模拟退火算法中,我已经得出了距离d矩阵,然后利用其进行蒙特罗算法和模拟退火算法。代码是一本书上的,对于自己的数据进行了部分修改,一直出现索引大于矩阵维度的错误。代码如下: d=load('data.txt'); path=[];long=inf; rand('state',sum(clock)); for j=1:1000 path0=[1 1+randperm(50),52]; temp=0; for i=1:51 temp=temp+d(path0(i),path0(i+1)); end if temp<long path=path0; long=temp; end end e=0.1^30;L=20000;at=0.999;T=1; for k=1:L c=2+floor(50*rand(1,2)); c=sort(c); c1=c(1);c2=c(2); df=d(path(c1-1),path(c2))+d(path(c1),path(c2+1))-d(path(c1-1),path(c1))-d(path(c2),path(c2+1)); if df<0 path=[path(1:c1-1),path(c2:-1:c1),path(c2+1:52)]; long=long+df; elseif exp(-df/T)>rand path=[path(1:c1-1),path(c2:-1:c1),path(c2+1:52)]; long=long+df; end T=T*at; if T<e break; end end path, long xx=sj(path,1);yy=sj(path,2); plot(xx,yy,'-*') 其中d为52×52矩阵,大部分数是inf,其它的是实数。求解答

矩阵维度必须一致,错误使用 .*

# 前面矩阵乘法都没报错,后面却报错了 矩阵也都检查了,大小一致 ``` % Img1=Img.*uint8(BW1); Img2=Img.*uint8(BW2); Img3=Img.*uint8(BW3); Img4=Img.*uint8(BW4); Img5=Img.*uint8(BW5); %% 图像合成:颜色传递 R1=gray2rgb1(Img1,Ref1);R1=R1.*uint8(BW1); R2=gray2rgb1(Img2,Ref2);R2=R2.*uint8(BW2); R3=gray2rgb1(Img3,Ref3);R3=R3.*uint8(BW3); R4=gray2rgb1(Img4,Ref4);R4=R4.*uint8(BW4); R5=gray2rgb1(Img5,Ref5);R5=R5.*uint8(BW5); ```

matlab处理数据,提示“位置 1 处的索引超出数组边界(不能超出 59)”

执行后提示: 位置 1 处的索引超出数组边界(不能超出 59)。 出错 a_n (line 8) [y(i,:), x(i,:)]=hist(data1(i,:),94); 请问大佬们怎么改这行代码?excel表里的数据是59*95 ``` close all; clear all; data1 = xlsread('C:\Users\Desktop\alpha_normal_正则化数据.xls','sheet1'); %读入数据 for i=1:104 [y(i,:), x(i,:)]=hist(data1(i,:),100); %统计频次分布 figure('Color','w'); bar(x(i,:),y(i,:),1); h(i,:)=bar(x(i,:),y(i,:),1); %画直方图 set(h(i,:),'EdgeColor',[0.5 0.5 0.5],'FaceColor',[0.5 0.5 0.5]); hold on; normplot(data1(i,:));%人工判断是否正态分布 %%%%%%%%%%%%%%%%%%%%% [H,P,LSTAT,CV] = lillietest(data1(i,:)); if H==0 %不能拒绝H0, disp('原始数据服从正态分布'); disp(i); else disp('原始数据不服从正态分布'); disp(i); end %%%%%%%%%%%%%%%%%%%% [mu(i),sigma(i)]=normfit(data1(i,:)); a(:,i) = mu(i) + sqrt(sigma(i)) .* randn(94,1); [h(i,:),sig(i,:),ci(i,:)]=ttest(data1(i,:),mu(i)); if h(i,:)==0 %不能拒绝H0, disp('调整后服从正态分布') else disp('调整后no') end filename = 'C:\Users\Desktop\alpha_normal_正态分布处理.xls'; writematrix(data1,filename,'sheet',1,'Range','A1:CP59'); end ```

matlab中如何去掉导致矩阵不满秩的行或者列

使用matlab中的rank查找矩阵的秩,发现该矩阵未满秩,由于是一个维度较大的矩阵,而下一步操作需要保证该矩阵是满秩的,所以想求问有没有什么方法能够查找导致未满秩的行或者列,然后我就可以考虑一些方法改进。。。。谢谢各位大虾

matlab编程出错不知道该怎么修改 可以指导一下吗? 谢谢!

错误为第28行 索引超出矩阵维度 不知道该怎么修改 可以指导一下吗 ? %基于dwt的数字水印 clear; %装入原图像 I = imread('C:\Users\lenovo\Desktop\Lena.bmp'); %装入水印图像  message = imread('C:\Users\lenovo\Desktop\Watermarking.bmp'); %二维离散小波变换 [CA,CH,CV,CD] = dwt2(I,'db1'); C = [CH,CV,CD]; [length,width] = size(CA); [M,N] = size(CA); T1=100; a=0.2; %加入水印 for j=1:1:N for i=1:1:M if(C(i,j)>T1) mark(i,j) = message(1,1); WaterC(i,j) = double(C(i,j)) + a * abs(double(C(i,j))) * mark(i,j); else mark(i,j) = 0; WaterC(i,j) = double(C(i,j)); end end end %重构图像 WaterCH = WaterC(1:length,1:width); WaterCV = WaterC(1:length,width + 1:2 * width); WaterCD = WaterC(1:length,2 * width + 1:3 * width); IW = double(idwt2(CA,WaterCH,WaterCV,WaterCD,'db1')); %显示原始图像 figure; subplot(1,4,1); image(I); axis('square'); title('原始图像'); %显示水印图像 subplot(1,4,2); image(message); axis('square'); title('水印图像'); %显示嵌入水印后的图像 subplot(1,4,3); image(IW/250); axis('square'); title('加入水印后的图像'); %水印检测 newmark = reshape(mark,M * N,1); %检测阈值 T2=120; for j = 1:1:N for i = 1:1:M if(C(i,j)>T2) WaterCX(i,j) = WaterC(i,j); else WaterCX(i,j) = 0; end end end %提取水印 T3 = 140; for j = 1:1:N for i = 1:1:M if(WaterC(i,j)>T3) SY(i,j) = IW(i,j); else SY(i,j) = 0; end end end %显示提取后的水印图像 subplot(1,4,4); image(SY); axis('square'); title('提取的水印图像'); %计算峰值信噪比PSNR和均方误差MSE for j = 1:1:N for i = 1:1:M D = sum(sum((WaterCX(i,j)-WaterC(i,j))^2))/M * N; end end MSE = D PSNR = 10 * log10(255^2/D)

MATLAB索引越界问题(真一小白,哭晕)

``` clear all; clc; % 读入人口数据(1971 - 2000年) Y = [33815 33981 34004 34212 34327 34344 34458 34498 34476 34483 34488 34513 34497 34511 34507 34509 34521 34513 34515 34517 34519 34521 34521 34523 34525 34525 34527]; % 读入年份,很明显可以自己生成 T = (1:1:30); % 做线性处理 for t = 1:30, x(t)= exp(-t); y(t) = 1/Y(t,1); end ``` 按照我买的一本书打的,没有打完,我就想看下有没有问题。结果,发现显示 “ 索引超出矩阵维度 出错 test1(line12) y(t) = 1/Y(t,1); ” 大佬们,怎么搞哇!

MATLAB 中PCA特征提取用LDA和PLS代替的代码

function [Xs_new,Xt_new,G] = GFK_Map(Xs,Xt,dim) Ps = pca(Xs); Pt = pca(Xt); G = GFK_core([Ps,null(Ps')], Pt(:,1:dim)); sq_G = real(G); Xs_new = (sq_G * Xs')'; Xt_new = (sq_G * Xt')'; end 这里用PCA特征提取Xs和Xt,得到一个特征的转化矩阵(COEFF) ,这个矩阵在MATLAB里面 叫COEFF,是个n*n,n为原矩阵的维度,我想用LDA或者PLS代替或者有更好的特征提取方式,提取到这个类似COEFF的转化矩阵,代码都可以。

MATLAB中三维矩阵和二维矩阵如何拼接?

A是一个三维矩阵,其中每一页的矩阵是4*2的,B是2*2的二维矩阵,直接[A,B]MATLAB运行显示串联维度不同

显示我错误使用 + 矩阵维度必须一致,但我找不出来

显示我错误使用 + 矩阵维度必须一致,但我找不出来 clear all clc %====================================================================== % Fibre simulation parameters lamdalD = 1.55e-6; %design wavelength lamda1 = 0.999*lamdalD; lamda2 = 1.001*lamdalD; step = 500; wal = (lamda1:(lamda2-lamda1)/step:lamda2); %====================================================================== %For a grating of maximun reflectance R = 0.2 Rmax = 0.2; %required maximum reflectivity rmax = sqrt(Rmax); kacL = atanh(rmax); c = 2.99793e8; %Speed of light h = 25e-9; t = 0:1e-3:1; z = 0:1e-6:3000e-6; v = 1;%Fringe visibilty %====================================================================== %Implementation of the transfer matrix method for solution of %coupled-mode equations L = 3000e-6; %length of grating in micrometers M = 100; dz = L/M; dzo = - L + 10.69e-3; %Distance between gratings kac = kacL/L; %"AC" coupling coefficient kdc = 2*kac/v; %"DC" coupling coefficient neff = 1+v*cos(cos(t)+2*pi*z/dz); %core index of fibre for r = 1:step+1 w = lamda(r); F = [1 0; 0 1]; for s = 1:M det = 2*pi*neff*(1/w - 1/lamdalD); gdc = det + kdc; p1 = sqrt(kac^2 - gdc^2); p2 = gdc^2/kac^2; f11 = cosh(p1*dz) - 1i*(gdc/p1)*sinh(p1*dz); f12 = -1i*(kac/p1)*sinh(p1*dz); f21 = 1i*(kac/p1)*sinh(p1*dz); f22 = cosh(p1*dz) + 1i*(gdc/p1)*sinh(p1*dz); ff = [f11 f12; f21 f22]; F = ff*F; end r3(r) = F(2,1)/F(1,1); %amplitude reflection coefficient R3(r) = (abs(r3(r)))^2; %power reflection coefficient %of single grating PHI = 2*pi*neff*dzo/w; %phase difference between gratings Fp = [exp(-1i*PHI) 0; 0 exp(1i*PHI)]; Ffp = F*Fp*F; t3(r) = 1/Ffp(1,1); %amplitude transmission coefficient T3(r) = (abs(t3(r)))^2; %power transmission coefficient of %Fabry-Perot filter end %================================================================== %Calculate Delay and Dispersion of Fabry-Perot Filter theta = phase(r3); dtheta1 = gradient(theta, h); dtheta2 = gradient(dtheta1, h); DELAY3 = -((wal.^2)./(2*pi*c)).*dtheta1; DELAYu3 = DELAY3*1e12; %delay in (ps) DISPERSION3 = (2*DELAY3./wal) - ((wal.^2)./(2*pi*c)).*dtheta2; DISPERSIONu3 = DISPERSION3*(1e12/1e9); %dispersion in (ps/nm) %===================================================================== %Plots for reflection and transmission spectra for Bragg reflector and %Fabry-Perot filter respectively figure (1) plot(wal*1e9, R3, 'k') grid axis([1549 1551.5 0 0.2]) title('Reflection Spectrum of Bragg Reflector') xlabel('Wavelength (nm)') ylabel('Power (p.u)') figure (2) plot(wal*1e9, T3, 'k') grid axis([1549 1551.5 0.4 1]) title('Transmission Spectrum of the Fabry-Perot Filter') xlabel('Wavelength (nm)') ylabel('Power (p.u)') figure (3) plot(wal*1e9, DELAYu3, 'k') grid axis([1545 1550 0.002 0.2]) title('Delay Spectrum of the Fabry-Perot Filter') xlabel('Wavelength (nm)') ylabel('Delay (ps)') figure (4) plot(wal*1e9, DISPERSIONu3, 'k') grid axis([1545 1550 -3 5]) title('Dispersion Spectrum of the Fabry-Perot Filter') xlabel('Wavelength (nm)') ylabel('Dispersion (ps)') %====================================================================

matlab出现位置 2 的索引超出数组范围(不能超过 1)。,如何解决?

clc; clear; close all; load data_fnn I=9; M=18; O=1; maxgen=10000; xite=0.07; a0=0.3; b0=0.6; Ek=1e-15; %初始化模糊神经网络参数 p0=a0*ones(M,1);p0_1=p0; p1=a0*ones(M,1);p1_1=p1; p2=a0*ones(M,1);p2_1=p2; p3=a0*ones(M,1);p3_1=p3; p4=a0*ones(M,1);p4_1=p4; p5=a0*ones(M,1);p5_1=p5; p6=a0*ones(M,1);p6_1=p6; p7=a0*ones(M,1);p7_1=p7; p8=a0*ones(M,1);p8_1=p8; p9=a0*ones(M,1);p9_1=p9; %初始化模糊隶属度参数 c=0.8+b0*rands(M,1);c_1=c; b=0.8+b0*rands(M,1);b_1=b; %训练数据归一化 [inputn,inputps]=mapminmax(input_train); [outputn,outputps]=mapminmax(output_train); %用训练样本训练模糊神经网络 [n,m]=size(input_train); EE=100; p=1; while p<= maxgen && EE>=Ek for k=1:m x=inputn(:,k);%输入参数模糊化 for i=1:I for j=1:M u(i,j)=exp(-[x(i)-c(j,i)]^2/b(j,i)); end end for i=1:M w(i)=u(1,i)*u(2,i)*u(3,i)*u(4,i)*u(5,i)*u(6,i)*u(7,i)*u(8,i)*u(9,i); end addw=sum(w); %输出计算 for i=1:M yi(i)=p0_1(i)+p1_1(i)*x(1)+p2_1(i)*x(2)+p3_1(i)*x(3)+p4_1(i)*x(4) +p5_1(i)*x(5)+p6_1(i)*x(6)+p7_1(i)*x(7)+p8_1(i)*x(8)+p9_1(i)*x(9); end addyw=0; addyw=yi*w'; yn(k)=addyw/addw; e(k)=outputn(k)-yn(k); %系数p修正值计算 d_p=zeros(M,1); for i=1:M d_p(i)=xite*e(k)*w(i)/addw; end d_b=0*b; for i=1:M for j=1:I d_b(i,j)=xite*e(k)*(yi(i)*addw-addyw)*(x(j)-c(i,j)^2*w(i)/b(i,j)^2*addw^2); end end %c的修正值计算 d_c=0*c; for i=1:M for j=1:I d_c(i,j)=xite*e(k)*(yi(i)*addw-addyw)*(x(j)-c(i,j)^2*w(i)/b(i,j)^2*addw^2); end end %系数修正 p0_1=p0_1+d_p; p1_1=p1_1+d_p*x(1); p2_1=p2_1+d_p*x(2); p3_1=p3_1+d_p*x(3); p4_1=p4_1+d_p*x(4); p5_1=p5_1+d_p*x(5); p6_1=p6_1+d_p*x(6); p7_1=p7_1+d_p*x(7); p8_1=p8_1+d_p*x(8); %隶属度参数修正 b=b+d_b; c=c+d_c; end for k=1:m x=inputn(:,k); for i=1:I for j=1:M u(i,j)=exp(-(x(i)-c(j,i))^2/b(j,i)); end end %模糊隶属度计算 for i=1:M w(i)=u(1,i)*u(2,i)*u(3,i)*u(4,i)*u(5,i)*u(6,i)*u(7,i)*u(8,i)*u(9,i); end addw=sum(w); %输出计算 for i=1:M yi(i)=p0_1(i)+p1_1(i)*x(1)+p2_1(i)*x(2)+p3_1(i)*x(3)+p4_1(i)*x(4)+p5_1(i)*x(5)+p6_1(i)*x(6)+p7_1(i)*x(7) +p8_1(i)*x(8)+p9_1(i)*x(9); end addyw=0; addyw=yi*w'; yn(k)=addyw/addw, end EE=(1/2)*sumsqr(outputn-yn) E(p)=EE; p=p+1; end EE,p y=mapminmax('reverse' ,yn,outputps) epoch=1;size(E,2); figure plot(epoch,E,'-r'); title('误差变化曲线');xlabel('步数');ylabel('误差'); % -----------------------------测试样本网络预测 ------------------------ %输入数据归一化 inputn_test=mapminmax( apply',input_test,inputps); [n,m]=size(input_test); %网络预测 for k=1:l:m x=inputn_test(:,k); %输入参数模糊化 for i=1:I for j=1:M u(i,j)=exp(-(x(i)-c(j,i))^2/b(j,i)); end end for i=1:M w(i)=u(1,i)*u(2,i)*u(3,i)*u(4,i)*u(5,i)*u(6,i)*u(7,i)*u(8,i)*u(9,i); end addw= sum(w); %输出计算 for i= 1:M yi(i)=p0_l(i)+pl_l(i)*x(1)+p2_1(i)*x(2)+p3_1(i)*x(3)+p4_1(i)*x(4)+p5_1(i)*x(5) +p6_1(i)*x(6)+p7_1(i)*x(7)+p8_1(i)*x(8)+p9_1(i)*x(9); end addyw=0; addyw=yi*w'; %网络预测值 ytn(k)= addyw/addw; end %预测值反归一化 yt=mapminmax( 'reverse' ,ytn,outputps)

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解!

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解! 目录 博客声明 大数据了解博主粉丝 博主的粉丝群体画像 粉丝群体性别比例、年龄分布 粉丝群体学历分布、职业分布、行业分布 国内、国外粉丝群体地域分布 博主的近期访问每日增量、粉丝每日增量 博客声明 因近期博主写专栏的文章越来越多,也越来越精细,逐步优化文章。因此,最近一段时间,订阅博主专栏的人数增长也非常快,并且专栏价

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

培训班出来的人后来都怎么样了?(二)

接着上回说,培训班学习生涯结束了。后面每天就是无休止的背面试题,不是没有头脑的背,培训公司还是有方法的,现在回想当时背的面试题好像都用上了,也被问到了。回头找找面试题,当时都是打印下来天天看,天天背。 不理解呢也要背,面试造飞机,上班拧螺丝。班里的同学开始四处投简历面试了,很快就有面试成功的,刚开始一个,然后越来越多。不知道是什么原因,尝到胜利果实的童鞋,不满足于自己通过的公司,嫌薪水要少了,选择...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

工作八年,月薪60K,裸辞两个月,投简历投到怀疑人生!

近日,有网友在某职场社交平台吐槽,自己裸辞两个月了,但是找工作却让自己的心态都要崩溃了,全部无果,不是已查看无回音,就是已查看不符合。 “工作八年,两年一跳,裸辞两个月了,之前月薪60K,最近找工作找的心态崩了!所有招聘工具都用了,全部无果,不是已查看无回音,就是已查看不符合。进头条,滴滴之类的大厂很难吗???!!!投简历投的开始怀疑人生了!希望 可以收到大厂offer” 先来看看网...

97年世界黑客编程大赛冠军作品(大小仅为16KB),惊艳世界的编程巨作

这是世界编程大赛第一名作品(97年Mekka ’97 4K Intro比赛)汇编语言所写。 整个文件只有4095个字节, 大小仅仅为16KB! 不仅实现了3D动画的效果!还有一段震撼人心的背景音乐!!! 内容无法以言语形容,实在太强大! 下面是代码,具体操作看最后! @echo off more +1 %~s0|debug e100 33 f6 bf 0 20 b5 10 f3 a5...

不要再到处使用 === 了

我们知道现在的开发人员都使用 === 来代替 ==,为什么呢?我在网上看到的大多数教程都认为,要预测 JavaScript 强制转换是如何工作这太复杂了,因此建议总是使用===。这些都...

什么是a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站?00后的世界我不懂!

A站 AcFun弹幕视频网,简称“A站”,成立于2007年6月,取意于Anime Comic Fun,是中国大陆第一家弹幕视频网站。A站以视频为载体,逐步发展出基于原生内容二次创作的完整生态,拥有高质量互动弹幕,是中国弹幕文化的发源地;拥有大量超粘性的用户群体,产生输出了金坷垃、鬼畜全明星、我的滑板鞋、小苹果等大量网络流行文化,也是中国二次元文化的发源地。 B站 全称“哔哩哔哩(bilibili...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

MySQL性能优化(五):为什么查询速度这么慢

前期回顾: MySQL性能优化(一):MySQL架构与核心问题 MySQL性能优化(二):选择优化的数据类型 MySQL性能优化(三):深入理解索引的这点事 MySQL性能优化(四):如何高效正确的使用索引 前面章节我们介绍了如何选择优化的数据类型、如何高效的使用索引,这些对于高性能的MySQL来说是必不可少的。但这些还完全不够,还需要合理的设计查询。如果查询写的很糟糕,即使表结构再合理、索引再...

用了这个 IDE 插件,5分钟解决前后端联调!

点击上方蓝色“程序猿DD”,选择“设为星标”回复“资源”获取独家整理的学习资料!作者 |李海庆我是一个 Web 开发前端工程师,受到疫情影响,今天是我在家办公的第78天。开发了两周,...

大厂的 404 页面都长啥样?最后一个笑了...

每天浏览各大网站,难免会碰到404页面啊。你注意过404页面么?猿妹搜罗来了下面这些知名网站的404页面,以供大家欣赏,看看哪个网站更有创意: 正在上传…重新上传取消 腾讯 正在上传…重新上传取消 网易 淘宝 百度 新浪微博 正在上传…重新上传取消 新浪 京东 优酷 腾讯视频 搜...

【高并发】高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!

网上很多的文章和帖子中在介绍秒杀系统时,说是在下单时使用异步削峰来进行一些限流操作,那都是在扯淡! 因为下单操作在整个秒杀系统的流程中属于比较靠后的操作了,限流操作一定要前置处理,在秒杀业务后面的流程中做限流操作是没啥卵用的。

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

Java14 新特性解读

Java14 已于 2020 年 3 月 17 号发布,官方特性解读在这里:https://openjdk.java.net/projects/jdk/14/以下是个人对于特性的中文式...

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

疫情后北上广深租房价格跌了吗? | Alfred数据室

去年3月份我们发布了《北上广深租房图鉴》(点击阅读),细数了北上广深租房的各种因素对租房价格的影响。一年过去了,在面临新冠疫情的后续影响、城市尚未完全恢复正常运转、学校还没开学等情况下...

面试官给我挖坑:a[i][j] 和 a[j][i] 有什么区别?

点击上方“朱小厮的博客”,选择“设为星标”后台回复&#34;1024&#34;领取公众号专属资料本文以一个简单的程序开头——数组赋值:int LEN = 10000; int[][] ...

又一起程序员被抓事件

就在昨天互联网又发生一起让人心酸的程序员犯罪事件,著名的百度不限速下载软件 Pandownload PC 版作者被警方抓获。案件大致是这样的:软件的作者不仅非法盗取用户数据,还在QQ群进...

应聘3万的职位,有必要这么刁难我么。。。沙雕。。。

又一次被面试官带到坑里面了。面试官:springmvc用过么?我:用过啊,经常用呢面试官:springmvc中为什么需要用父子容器?我:嗯。。。没听明白你说的什么。面试官:就是contr...

太狠了,疫情期间面试,一个问题砍了我5000!

疫情期间找工作确实有点难度,想拿到满意的薪资,确实要点实力啊!面试官:Spring中的@Value用过么,介绍一下我:@Value可以标注在字段上面,可以将外部配置文件中的数据,比如可以...

Intellij IDEA 美化指南

经常有人问我,你的 IDEA 配色哪里搞的,我会告诉他我自己改的。作为生产力工具,不但要顺手而且更要顺眼。这样才能快乐编码,甚至降低 BUG 率。上次分享了一些 IDEA 有用的插件,反...

【相亲】96年程序员小哥第一次相亲,还没开始就结束了

颜值有点高,条件有点好

太厉害了,终于有人能把TCP/IP 协议讲的明明白白了

一图看完本文 一、 计算机网络体系结构分层 计算机网络体系结构分层 计算机网络体系结构分层 不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。 二、 TCP/IP 基础 1. TCP/IP 的具体含义 从字面意义上讲,有人可能会认为...

腾讯面试题: 百度搜索为什么那么快?

我还记得去年面腾讯时,面试官最后一个问题是:百度/google的搜索为什么那么快? 这个问题我懵了,我从来没想过,搜素引擎的原理是什么 然后我回答:百度爬取了各个网站的信息,然后进行排序,当输入关键词的时候进行文档比对……巴拉巴拉 面试官:这不是我想要的答案 我内心 这个问题我一直耿耿于怀,终于今天,我把他写出来,以后再问,我直接把这篇文章甩给他!!! 两个字:倒排,将贯穿整篇文章,也是面试官...

相关热词 c# 按行txt c#怎么扫条形码 c#打包html c# 实现刷新数据 c# 两个自定义控件重叠 c#浮点类型计算 c#.net 中文乱码 c# 时间排序 c# 必备书籍 c#异步网络通信
立即提问