1个回答

（1）的局部截断误差是 。

#include
#include
#define f(x,y) (-1*(x)*(y)*(y))
void main(void)
{
double a,b,x0,y0,k1,k2,k3,k4,h;
int n,i;
printf("input a,b,x0,y0,n:");
scanf("%lf%lf%lf%lf%d",&a,&b,&x0,&y0,&n);
printf("x0\ty0\tk1\tk2\tk3\tk4\n");
for(h=(b-a)/n,i=0;i!=n;i++)
{
k1=f(x0,y0);
k2=f(x0+h/2,y0+k1*h/2);
k3=f(x0+h/2,y0+k2*h/2);
k4=f(x0+h,y0+h*k3);
printf("%lf\t%lf\t",x0,y0);
printf("%lf\t%lf\t",k1,k2);
printf("%lf\t%lf\n",k3,k4);
y0+=h*(k1+2*k2+2*k3+k4)/6;
x0+=h;
}
printf("xn=%lf\tyn=%lf\n",x0,y0);
}

input a,b,x0,y0,n:0 5 0 2 20
x0 y0 k1 k2 k3 k4
0.000000 2.000000 -0.000000 -0.500000 -0.469238
-0.886131
0.250000 1.882308 -0.885771 -1.176945 -1.129082
-1.280060
0.500000 1.599896 -1.279834 -1.295851 -1.292250
-1.222728
0.750000 1.279948 -1.228700 -1.110102 -1.139515
-0.990162
1.000000 1.000027 -1.000054 -0.861368 -0.895837
-0.752852
1.250000 0.780556 -0.761584 -0.645858 -0.673410
-0.562189
1.500000 0.615459 -0.568185 -0.481668 -0.500993
-0.420537
1.750000 0.492374 -0.424257 -0.361915 -0.374868
-0.317855
2.000000 0.400054 -0.320087 -0.275466 -0.284067
-0.243598
2.250000 0.329940 -0.244935 -0.212786 -0.218538
-0.189482
2.500000 0.275895 -0.190295 -0.166841 -0.170744
-0.149563
2.750000 0.233602 -0.150068 -0.132704 -0.135399
-0.119703
3.000000 0.200020 -0.120024 -0.106973 -0.108868
-0.097048
3.250000 0.172989 -0.097256 -0.087300 -0.088657
-0.079618
3.500000 0.150956 -0.079757 -0.072054 -0.073042
-0.066030
3.750000 0.132790 -0.066124 -0.060087 -0.060818
-0.055305
4.000000 0.117655 -0.055371 -0.050580 -0.051129
-0.046743
4.250000 0.104924 -0.046789 -0.042945 -0.043363
-0.039833
4.500000 0.094123 -0.039866 -0.036750 -0.037072
-0.034202
4.750000 0.084885 -0.034226 -0.031675 -0.031926
-0.029571
xn=5.000000 yn=0.076927

![常微分方程组](https://img-ask.csdn.net/upload/201905/15/1557892716_658772.png) 1. ``` function f=myfun(t,y,beta1,beta2,epsilong1,epsilong2,delta,u1,u2,k,alpha,p) f(1)=-beta1.*epsilong1.*y(1).*(1-u1).*y(3)-beta2.*epsilong2.*y(1).*(1-u1).*delta.*y(2); f(2)=beta1.*epsilong1.*y(1).*(1-u1).*y(3)-beta2.*epsilong2.*y(1).*(1-u1).*delta.*y(2)-k*y(2); f(3)=k.*y(2)-alpha.*y(3)-u2.*y(3); f(4)=p.*alpha.*y(3)+u2.*y(3); f=f( : ); ``` 这是我的函数m文件 2. ``` function [ t, y]=RK4(myfun,tspan,y0,h) t=tspan(1):h:tspan(2); y=zeros(length(y0),length(t)); y(:,1)=y0(:); for n=1:(length(t)-1) k1=feval(myfun,t(n),y(:,n)); k2=feval(myfun,t(n)+h/2,y(:,n)+h/2*k1); k3=feval(myfun,t(n)+h/2,y(:,n)+h/2*k2); k4=feval(myfun,t(n+1),y(:,n)+h*k3); y(:,n+1)=y(:,n)+(h/6).*(k1+2*k2+2*k3+k4); end ``` 这是四阶龙格库塔的程序文件 3. ``` clear; clc; tspan=[0 300]; y0=[1000000 0 1 0]; % 初值 beta1=0.8; beta2=0.5; epsilong1=0.5; epsilong2=0.2; delta=0.5; u1=0.7; u2=0.03; k=0.526; alpha=0.244; p=0.93; [t, y]=RK4(@(t,y)myfun(t,y,beta1,beta2,epsilong1,epsilong2,delta,u1,u2,k,alpha,p),tspan,y0,5); plot(t,y); title('系统方程');xlabel('时间（t）');ylabel('y'); legend('y_1','y_2','y_3','y_4',2); ``` 这是最后的程序，上面附了一些初值，最后得出的结果是这样的， ![图片说明](https://img-ask.csdn.net/upload/201905/15/1557893185_84919.jpg) 这是线性的吗，感觉很懵逼啊，而且y的值怎么会出现负的

d更改很多次，查了不少资料，仍没有结果，恳请大神能帮忙指点一下，或者该参考什么方向的书籍？非常感 谢，当C[0]=200;时 //功能：方程组1和方程组2解不断逼近，t不断改变方程组1，A不断改变方程组2迭代初值，误差满足要求， 输出此时A、t。现在在步长为0.01，C[0]=100;时运行出t=1.1，A=43.0，改变C[0]=200就没有结果了1、参看 资料变了很多步长，最后面的是看的相关论文改的根据误差选取不同的步长，不出结果2，Db[i]和Dc[i]同时 满足，A[i]为负值（理论上为正） #include<stdio.h> #include <math.h> #include<stdlib.h> #define PI 3.141593 #define Vx y[1] #define Vy y[2] #define X y[3] #define Y y[4] #define f1(y1,y2,y3,y4,t) (-0.1109*y1) #define f2(y1,y2,y3,y4,t) (-0.1109*y2-9.81)//方程2 #define f3(y1,y2,y3,y4,t) (y1) #define f4(y1,y2,y3,y4,t) (y2) void main(void) { int i,j,V,m=4,n=151; double t,A[150],Db[150],Dc[150],B[150],C[150],G[150],M[150],r[150],R[150],d,y[150],y0 [150],k1[150],k2[150],k3[150],k4[150]; B[0]=0; C[0]=100; G[0]=100; M[0]=0; M[1]=0; M[2]=-10; V=120; d=0.01; t=0; B[1]=B[0]+M[0]*t;//方程 C[1]=C[0]+M[1]*t; G[1]=G[0]+M[2]*t; r[1]=sqrt(B[1]*B[1]+G[1]*G[1]); R[1]=sqrt(r[1]*r[1]+C[1]*C[1]); A[1]=atan(C[1]/r[1]); A[1]=A[1]*180/PI;//弧度化角度 A[1]=cos(A[1]*PI/180);//输入必须为弧度 y0[1]=V*A[1];//初始条件 A[1]=atan(C[1]/r[1]); A[1]=A[1]*180/PI;//弧度化为度 A[1]=sin(A[1]*PI/180);//输入必须为弧度 y0[2]=V*A[1]; y0[3]=0; y0[4]=0; for(j=1;j<=m;j++) y[j]=y0[j]; for(i=1;i<n;i++) { for(j=1;j<=m;j++) { if(j==1) k1[j]=d*f1((y[j]),(y[j+1]),(y[j+2]),(y[j+3]),t); else if(j==2) k1[j]=d*f2((y[j-1]),(y[j]),(y[j+1]),(y[j+2]),t); else if(j==3) k1[j]=d*f3((y[j-2]),(y[j-1]),(y[j]),(y[j+1]),t); else if(j==4) k1[j]=d*f4((y[j-3]),(y[j-2]),(y[j-1]),(y[j]),t); } for(j=1;j<=m;j++) { if(j==1) k2[j]=d*f1((y[j]+0.5*k1[j]),(y[j+1]+0.5*k1[j+1]),(y[j+2]+0.5*k1[j+2]),(y[j +3]+0.5*k1[j+3]),(t+0.5*d)); else if(j==2) k2[j]=d*f2((y[j-1]+0.5*k1[j-1]),(y[j]+0.5*k1[j]),(y[j+1]+0.5*k1[j+1]),(y[j +2]+0.5*k1[j+2]),(t+0.5*d)); else if(j==3) k2[j]=d*f3((y[j-2]+0.5*k1[j-2]),(y[j-1]+0.5*k1[j-1]),(y[j]+0.5*k1[j]),(y[j +1]+0.5*k1[j+1]),(t+0.5*d)); else if(j==4) k2[j]=d*f4((y[j-3]+0.5*k1[j-3]),(y[j-2]+0.5*k1[j-2]),(y[j-1]+0.5*k1[j-1]),(y [j]+0.5*k1[j]),(t+0.5*d)); } for(j=1;j<=m;j++) { if(j==1) k3[j]=d*f1((y[j]+0.5*k2[j]),(y[j+1]+0.5*k2[j+1]),(y[j+2]+0.5*k2[j+2]),(y[j +3]+0.5*k2[j+3]),(t+0.5*d)); else if(j==2) k3[j]=d*f2((y[j-1]+0.5*k2[j-1]),(y[j]+0.5*k2[j]),(y[j+1]+0.5*k2[j+1]),(y[j +2]+0.5*k2[j+2]),(t+0.5*d)); else if(j==3) k3[j]=d*f3((y[j-2]+0.5*k2[j-2]),(y[j-1]+0.5*k2[j-1]),(y[j]+0.5*k2[j]),(y[j +1]+0.5*k2[j+1]),(t+0.5*d)); else if(j==4) k3[j]=d*f4((y[j-3]+0.5*k2[j-3]),(y[j-2]+0.5*k2[j-2]),(y[j-1]+0.5*k2[j-1]),(y [j]+0.5*k2[j]),(t+0.5*d)); } for(j=1;j<=m;j++) { if(j==1) k4[j]=d*f1((y[j]+k3[j]),(y[j+1]+k3[j+1]),(y[j+2]+k3[j+2]),(y[j+3]+k3[j+3]),(t +d)); else if(j==2) k4[j]=d*f2((y[j-1]+k3[j-1]),(y[j]+k3[j]),(y[j+1]+k3[j+1]),(y[j+2]+k3[j+2]),(t +d)); else if(j==3) k4[j]=d*f3((y[j-2]+k3[j-2]),(y[j-1]+k3[j-1]),(y[j]+k3[j]),(y[j+1]+k3[j+1]),(t +d)); else if(j==4) k4[j]=d*f4((y[j-3]+k3[j-3]),(y[j-2]+k3[j-2]),(y[j-1]+k3[j-1]),(y[j]+k3[j]),(t +d)); } for(j=1;j<=m;j++) y[j]=y[j]+((k1[j]+2.0*k2[j]+2.0*k3[j]+k4[j])/6.0); t=i*d; Db[i]=X-r[i]; Dc[i]=Y-C[i]; //传递t不断更新预测初值 B[i+1]=B[0]+M[0]*t; C[i+1]=C[0]+M[1]*t; G[i+1]=G[0]+M[2]*t; r[i+1]=sqrt(B[i+1]*B[i+1]+G[i+1]*G[i+1]); R[i+1]=sqrt(r[i+1]*r[i+1]+C[i+1]*C[i+1]); if((0<Db[i])&&(Db[i]<=1))//误差选择1m只能保证一个误差，另一个相差很大 { //if((0<Dc[i])&&(Dc[i]<=1))//加上此判断条件时角度为负值，按理论来说不应该是负值 A[i]=atan(Y/X);//此时为弧度 A[i]=A[i]*180/PI; if(i%1==0) printf("t=%.1f,角度A=%.1f,方程2X=%.1f,Y=%.1f，方程1r=%.1f,C=%.1f\n",t,A[i],X,Y,r[i +1],C[i+1]); } else//重新更改方程2的迭代初值， { A[i+1]=asin(A[i]); A[i+1]=A[i+1]+Dc[i]/R[i]; A[i+1]=A[i+1]*180/PI; A[i+1]=cos(A[i+1]*PI/180); y0[1]=V*A[i+1]; A[i+1]=asin(A[i]); A[i+1]=A[i+1]+Dc[i]/R[i]; A[i+1]=A[i+1]*180/PI; A[i+1]=sin(A[i+1]*PI/180); y0[2]=V*A[i+1]; y0[3]=0; y0[4]=0; for(j=1;j<=m;j++); y[j]=y0[j]; // 加上下面程序（改变步长d）则运行停止工作，没有时运行良好？ /* if((0.3*r[i]<X)&&(X<0.6*r[i])) { d=0.7*d; if((0.6*r[i]<X)&&(X<0.9*r[i])) d=0.4*d; if((0.9*r[i]<X)&&(X<r[i])) d=0.1*d; }*/ } } }

function [X,Y]=odeRK4(str,a,b,ya,n) % 四阶龙格-库塔方法 %f 函数 %a和b 求解区域的端点 %ya 初始条件y(a) %n 求解步数 %f 如果是文件，调用[x,y]=odeRK4(@f,a,b,ya,n). %f 如果是匿名函数，调用[x,y]=odeRK4(f,a,b,ya,n). h=(b-a)/n; Y=zeros(1,n+1); X=a:h:b; Y(1)=ya; f_xy= @(x,y)str; for j=1:n k1=f_xy(X(j),Y(j)); k2=f_xy(X(j)+h/2,Y(j)+h/2*k1); k3=f_xy(X(j)+h/2,Y(j)+h/2*k2); k4=f_xy(X(j)+h,Y(j)+h*k3); Y(j+1)=Y(j)+h/6*(k1+k4)+h/3*(k2+k3); end for k=1:n+1 fprintf('x[%d]=%f\ty[%d]=%f\n',k-1,X(k),k-1,Y(k)); end end clear all figure('name','四阶龙格-库塔', 'NumberTitle','off') %建立名字是四阶龙格-库塔的图形窗口 uicontrol(gcf,'style','text', 'position',[50 350 350 50], 'string','常微分方程组初值问题数值解', 'fontsize',16); % 建立名为常微分方程组初值问题数值解的求解的静态编辑框 text_fun1= uicontrol(gcf, 'Style','Text','String','常微分方程表达式: ','FontSize',14,'Position',[55 278 160 25],'HorizontalAlignment','Left'); edit_fun1= uicontrol(gcf, 'Style','Edit','String','-x*x*y*y*y','Position',[220 278 140 25],'HorizontalAlignment','left', 'FontSize',14); text_fun2= uicontrol(gcf, 'Style','Text','String','区间左端点: ','FontSize',14,'Position',[55 248 160 25],'HorizontalAlignment','Left'); edit_fun2= uicontrol(gcf,'style','Edit','String','0', 'position',[220 248 140 25],'HorizontalAlignment','left', 'FontSize',14); text_fun3= uicontrol(gcf, 'Style','Text','String','区间右端点: ','FontSize',14,'Position',[55 218 160 25],'HorizontalAlignment','Left'); edit_fun3= uicontrol(gcf,'style','Edit','String','5', 'position',[220 218 140 25],'HorizontalAlignment','left', 'FontSize',14); text_fun4= uicontrol(gcf, 'Style','Text','String','初值: ','FontSize',14,'Position',[55 188 160 25],'HorizontalAlignment','Left'); edit_fun4= uicontrol(gcf,'style','Edit','String','1', 'position',[220 188 140 25],'HorizontalAlignment','left', 'FontSize',14); text_fun5= uicontrol(gcf, 'Style','Text','String','求解步数: ','FontSize',14,'Position',[55 158 160 25],'HorizontalAlignment','Left'); edit_fun5= uicontrol(gcf,'style','Edit','String','20', 'position',[220 158 140 25],'HorizontalAlignment','left', 'FontSize',14); uicontrol(gcf,'style','push', 'position',[55 108 150 30], 'string','开始运行', 'fontsize',10, 'call',['odefun =num2str(get(edit_fun1,''string''));a = str2num(get(edit_fun2,''string'')),b = str2num(get(edit_fun3,''string'')),ya = str2num(get(edit_fun4,''string'')),n = str2num(get(edit_fun5,''string''));','[x,y]=odeRK4(odefun,a,b,ya,n)']) % 建立名为开始运行的静态编辑框 push_Quit = uicontrol(gcf, 'Style','Push','String','Quit','value',0,'FontSize',10, 'Pos',[450 50 100 30], 'Call', 'fun_quit'); 运行报错 在赋值 A(:) = B 中，A 和 B 中的元素数目必须相同。 出错 odeRK4 (line 19) Y(j+1)=Y(j)+h/6*(k1+k4)+h/3*(k2+k3); 计算 UIControl Callback 时出错

1)改进欧拉法求解常微分方程的初值问题 #include <stdio.h> float func(float x,float y) { return(y-x); } float euler(float x0,float xn,float y0,int N) { float x,y,yp,yc,h; int i; x=x0; y=y0; h=(xn-x0)/(float)N; for(i=1;i<=N;i++) { yp=y+h*func(x,y); x=x0+i*h; yc=y+h*func(x,yp); y=(yp+yc)/2.0; } return(y); } main() { float x0,xn,y0,e; int n; printf("\ninput n:\n "); scanf("%d",&n); printf("input x0,xn:\n "); scanf("%f,%f",&x0,&xn); printf("input y0:\n "); scanf("%f",&y0); e=euler(x0,xn,y0,n); printf("y(%f)=%6.4f",y0,e); } input n: 20 input x0,xn: 1,6 input y0: 2 y(2.000000)=7.0000Press any key to continue (2)四阶龙格—库塔法 #include <stdio.h> float func(float x,float y) { return(x-y); } float runge_kutta(float x0,float xn,float y0,int N) { float x,y,y1,y2,h,xh; float d1,d2,d3,d4; int i; x=x0; y=y0; h=(xn-x0)/(float)N; for(i=1;i<=N;i++) { xh=x+h/2; d1=func(x,y); d2=func(xh,y+h*d1/2.0); d3=func(xh,y+h*d2/2.0); d4=func(xh,y+h*d3); y=y+h*(d1+2*d2+2*d3+d4)/6.0; x=x0+i*h; } return(y); } main() { float x0,xn,y0,e; int N; printf("\ninput n:\n "); scanf("%d",&N); printf("input x0,xn:\n "); scanf("%f,%f",&x0,&xn); printf("input y0:\n "); scanf("%f",&y0); e=runge_kutta(x0,xn,y0,N); printf("y(%f)=%8.6f",y0,e); } input n: 10 input x0,xn: 1,2 input y0: 5 y(5.000000)=2.833863Press any key to continue

#include <iostream> #include <iomanip> using namespace std; void RK4( double (*f)(double t,double x, double y),double (*g)(double t,double x, double y) ,double initial[3], double resu[3],double h) { double f1,f2,f3,f4,g1,g2,g3,g4,t0,x0,y0,x1,y1; t0=initial[0];x0=initial[1];y0=initial[2]; f1=f(t0,x0,y0); f2=f(t0+h/2, x0+h*f1/2,y0+h*g1/2); f3=f(t0+h/2, x0+h*f2/2,y0+h*g2/2); f4=f(t0+h, x0+h*f3,y0+h*g3); g1=g(t0,x0,y0); g2=g(t0+h/2,x0+h*f1/2,y0+h*g1/2); g3=g(t0+h/2,x0+h*f2/2,y0+h*g2/2); g4=g(t0+h, x0+h*f3,y0+h*g3); x1=x0+h*(f1+2*f2+2*f3+f4)/6; y1=y0+h*(g1+2*g2+2*g3+g4)/6; resu[0]=t0+h;resu[1]=x1;resu[2]=y1; } int main() { double f(double t,double x, double y); double g(double t,double x, double y); double initial[3],resu[3]; double a,b,H; double t,step; int i; cout<<"输入所求微分方程组的初值t0,x0,y0:"; cin>>initial[0]>>initial[1]>>initial[2]; cout<<"输入所求微分方程组的微分区间[a,b]:"; cin>>a>>b; cout<<"输入所求微分方程组所分解子区间的个数step:"; cin>>step; //cout<<setiosflags(ios::right)<<setiosflags(ios::fixed)<<setprecision(10); H=(b-a)/step; cout<< initial[0]<<setw(18)<<initial[1]<<setw(18)<<initial[2]<<endl; for(i=0;i<step;i++) { RK4( f,g ,initial, resu,H); cout<<resu[0]<<setw(20)<<resu[1]<<setw(20)<<resu[2]<<endl; initial[0]=resu[0];initial[1]=resu[1];initial[2]=resu[2]; } return(0); } double f(double t,double x, double y) { double dx; dx=x*(300-x/10)*(1-x/300-y*20/300); return(dx); } double g(double t,double x, double y) { double dy; dy=y*(300-y/10)*(1-y/300-x*1/20/300); return(dy); } 这是利用四阶龙格库塔法求解一阶微分组的c++程序，但是当我将t0,x0,y0分别设置为0 ，50 ，50，t范围取[0 1000]，求解次数为1000次时为啥求解不出来？？？ 求教各位了，十分着急！希望懂得人为小弟解惑

C++龙格库塔法步长问题

《奇巧淫技》系列-python！！每天早上八点自动发送天气预报邮件到QQ邮箱

8年经验面试官详解 Java 面试秘诀
作者 | 胡书敏 责编 | 刘静 出品 | CSDN（ID：CSDNnews） 本人目前在一家知名外企担任架构师，而且最近八年来，在多家外企和互联网公司担任Java技术面试官，前后累计面试了有两三百位候选人。在本文里，就将结合本人的面试经验，针对Java初学者、Java初级开发和Java开发，给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实

MyBatis研习录(01)——MyBatis概述与入门
C语言自学完备手册(33篇) Android多分辨率适配框架 JavaWeb核心技术系列教程 HTML5前端开发实战系列教程 MySQL数据库实操教程(35篇图文版) 推翻自己和过往——自定义View系列教程(10篇) 走出思维困境，踏上精进之路——Android开发进阶精华录 讲给Android程序员看的前端系列教程(40集免费视频教程+源码) 版权声明 本文原创作者：谷哥的小弟 作者博客

Python爬虫爬取淘宝，京东商品信息

Java工作4年来应聘要16K最后没要,细节如下。。。

Python爬虫精简步骤1 获取数据

Python绘图，圣诞树，花，爱心 | Turtle篇
1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle() circle.shape('circle') circle.color('red') circle.speed('fastest') circle.up() square = turtle.Turtle()

CPU对每个程序员来说，是个既熟悉又陌生的东西？ 如果你只知道CPU是中央处理器的话，那可能对你并没有什么用，那么作为程序员的我们，必须要搞懂的就是CPU这家伙是如何运行的，尤其要搞懂它里面的寄存器是怎么一回事，因为这将让你从底层明白程序的运行机制。 随我一起，来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说，我们首先就要搞明白它是怎么回事，也就是它的内部构造，当然，CPU那么牛的一个东

2020年1月17日，国家统计局发布了2019年国民经济报告，报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏，但是很多人并没有看到我国复杂的人口问题：老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧！ 更多有趣分析教程，扫描下方二维码关注vx公号「裸睡的猪」 即可查看！ 一、背景 1.人口突破14亿 2020年1月17日，国家统计局发布
web前端javascript+jquery知识点总结
Javascript javascript 在前端网页中占有非常重要的地位，可以用于验证表单，制作特效等功能，它是一种描述语言，也是一种基于对象（Object）和事件驱动并具有安全性的脚本语言 ，语法同java类似，是一种解释性语言，边执行边解释。 JavaScript的组成： ECMAScipt 用于描述: 语法，变量和数据类型，运算符，逻辑控制语句，关键字保留字，对象。 浏览器对象模型（Br
Python实战：抓肺炎疫情实时数据，画2019-nCoV疫情地图

Python：爬取疫情每日数据

B 站上有哪些很好的学习资源?

Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题，让视音频内容可以不依赖用户安装App，就能进行播放以及在社交平台进行传播。在视频业务大数据平台中，播放数据的统计分析非常重要，所以Web播放器在使用过程中，需要对其内部的数据进行收集并上报至服务端，此时，就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢？ 01 监听事件明细表 名
3万字总结，Mysql优化之精髓

Python新型冠状病毒疫情数据自动爬取+统计+发送报告+数据屏幕（三）发送篇

1. 传统事件绑定和符合W3C标准的事件绑定有什么区别？ 传统事件绑定 &lt;div onclick=""&gt;123&lt;/div&gt; div1.onclick = function(){}; &lt;button onmouseover=""&gt;&lt;/button&gt; 注意： 如果给同一个元素绑定了两次或多次相同类型的事件，那么后面的绑定会覆盖前面的绑定 （不支持DOM事...

Python学习笔记（语法篇）

Python绘图与可视化

MySQL表的增删查改(提高篇)
MySQL表的增删查改(基本篇) 接上一篇MySQL表基本的增删查改，下面看一下提高篇： 一、数据库约束 1、约束类型 NOT NULL：不为空约束。创建表时，可以指定某列不为空 UNIQUE ：唯一约束。指定某列为唯一的、不重复的 DEFAULT ：默认值约束。指定插入数据时，某列为空，设置默认值 PRIMARY KEY ： 主键约束。NOT NULL 和 UNIQUE 的结合。确保某列（或两个...
Java实现 LeetCode 35 搜索插入位置
35. 搜索插入位置 给定一个排序数组和一个目标值，在数组中找到目标值，并返回其索引。如果目标值不存在于数组中，返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2: 输入: [1,3,5,6], 2 输出: 1 示例 3: 输入: [1,3,5,6], 7 输出: 4 示例 4: 输入: [1,3,5,6], 0 输出:...