day06

回顾:
1.循环结构:
  3)for:固定次数,应用率高
2.break:跳出循环
  continue:跳过循环体中剩余语句而进入下一次循环
3.适用情况:
4.嵌套循环:
    循环中套循环,外层走一次,内层走所有次
    层次越少越好,break只能跳出一层循环
5.数组:
    引用类型,相同数据类型元素的集合
    int[] arr = new int[3]; //0,0,0
    int[] arr = {3,5,7};
    int[] arr = new int[]{3,5,7};
    arr[0] = 30;
    arr[3] = 80; //数组下标越界异常
    System.out.println(arr[arr.length-1]);
    for(int i=0;i<arr.length;i++){
      arr[i] = 100;
      System.out.println(arr[i]);
    }




笔记:
1.数组:
  7)数组的复制:
    7.1)System.arraycopy(a,1,a1,0,4);
    7.2)int[] a1 = Arrays.copyOf(a,6);
        a = Arrays.copyOf(a,a.length+1); //扩容
  8)数组的排序:
    8.1)Arrays.sort(arr); //升序
    8.2)冒泡排序算法:
        8.2.1)五个数冒四轮
8.2.2)每一轮都是从第1个元素开始冒
      每一次都是和它的下一个元素比
8.2.3)冒出来的就不再参与比较了
2.方法:
  1)封装一段特定的业务逻辑功能
  2)方法尽可能的独立,只干一件事
  3)方法可以被反复调用
  4)减少代码重复,有利于代码的维护,有利于团队的协作
3.方法的定义:
    修饰词 返回值类型 方法名(参数列表){
      方法体
    }
4.方法的调用:
  1)无返回值: 方法名(有参传参);
  2)有返回值: 数据类型 变量 = 方法名(有参传参);
5.return:
  1)return 值; //1.1)结束方法的执行 1.2)返回结果给调用方
  2)return;    //2.1)结束方法的执行(在某种特殊情况下提前结束方法)




练习:
1.完成经典案例:------------至少两次
  1)MaxOfArray--求数组最大值并将其放在最后一个元素的下一个位置
  2)BubbleSort--冒泡算法对arr进行升序排列
2.完成课后作业
public static void main(String[] args){
  say();
  sayHi("zhangsan");
  sayHello("zhangsan",26);
  double a = getNum(); 输出a
  int b = plus(5,6); 输出b
  int m=5,n=6;
  int c = plus(m,n); 输出c
}
public static void say(){}
public static void sayHi(String name){}
public static void sayHello(String name,int age){}
public static double getNum(){ return 56.789;}
public static int plus(int num1,int num2){
  return num1+num2;
}






























MethodDemo




方法可以有参也可以无参
-----有参可以使方法更加灵活






















System.out.         println("Hello");
System.             arraycopy(a,1,a1,0,4);
Arrays.             sort(arr);
int[] a1 = Arrays.  copyOf(a,6);-------有参数


int    a = scan.    nextInt();
double b = scan.    nextDouble();
double c = Math.    random();----------无参数




double c = Math.random(); //0.0到0.99999999...


假设random()有参:
  double c = Math.random(1,1000);
  double c = Math.random(0,99);
  double c = Math.random(20,40);






























方法可以有返回值也可以没有返回值:
1)无返回值,返回值类型设计为void
2)有返回值,返回值类型设计为特定的数据类型即可


方法执行完之后:
1)若还需要用到方法中的某个数据-----有返回值
2)若不再需要用到方法中的数据-------无返回值


System.out.println("Hello");
System.arraycopy(a,1,a1,0,4);
Arrays.sort(arr);--------------------无返回值


int    a = scan.nextInt();
double b = scan.nextDouble();
double c = Math.random();
int[] a1 = Arrays.copyOf(a,6);-------有返回值


















各个项目比较通用的方法










冒泡(){
  6句话
}


















  




main(){
  调存款-----------1行
  调取款-----------1行
  调转帐-----------1行
  调查询余额-------1行
}
void 存款(){
  500行
}
void 取款(){------------调验证密码()
  500行
}
void 转帐(){------------调验证密码()
  1000行
}
void 查询余额(){--------调验证密码()
  300行
}
void 验证密码(){
  100行
}








































int[] arr = {67,23,45,1}; //升序
for(int i=0;i<arr.length-1;i++){ //控制轮
  for(int j=0;j<arr.length-1-i;j++){ //控制次
    if(arr[j]>arr[j+1]){
      int t=arr[j];
      arr[j]=arr[j+1];
      arr[j+1]=t;
    }
  }
}


             arr.length-1-i
i=0(第一轮)  比3次
i=1(第二轮)  比2次
i=2(第三轮)  比1次




第一轮:
  67和23比,换,23,67,45,1
  67和45比,换,23,45,67,1
  67和1比,换,23,45,1,67----------67冒出来了
第二轮:
  23和45比,不换
  45和1比,换,23,1,45,67----------45冒出来了
第三轮:
  23和1比,换,1,23,45,67----------23冒出来了


























































元素数少,排序方式随意
元素数多,排序方式得选一选


1)当数据不同时,用不同的排序方式,效率也是不同的
    这30万个数据-------------插入排序最快
    另30万个数据-------------冒泡排序最快
    另30万个数据-------------快速排序最快
2)有一种排序方式一直是最快的
    Arrays.sort(arr);










































int[] a = {10,20,30,40,50};
int[] a1 = new int[6]; //0,0,0,0,0,0


for(int i=0;i<a.length;i++){
  a1[i] = a[i];
}


a1[0] = a[0];
a1[1] = a[1];
a1[2] = a[2];
a1[3] = a[3];
a1[4] = a[4];










































int num = 1;
while(num<=10){
  num++;
}
System.out.println(num); //11


int num;
for(num=1;num<=10;num++){
}
System.out.println(num); //11





































内容概要:本文详细介绍了基于滑模控制(SMC)和H∞控制相结合的方法应用于永磁直线同步电机(PMLSM)的鲁棒控制。首先阐述了PMLSM的基本数学模型及其物理意义,包括d-q坐标系下的电压方程和运动方程。随后解释了滑模控制的工作原理,重点在于如何构建滑模面并确保系统沿此面稳定运行。接着讨论了H∞控制的目标——即使在不确定条件下也能保持良好的性能表现。文中还提供了具体的Matlab代码实例,展示了如何利用Matlab控制系统工具箱进行H∞控制器的设计。最后给出了一段完整的Matlab程序框架,演示了两种控制方法的具体实现方式。 适合人群:从事电机控制领域的研究人员和技术人员,尤其是那些想要深入了解滑模控制和H∞控制理论及其在实际工程中应用的人士。 使用场景及目标:适用于需要提高永磁直线同步电机控制系统抗干扰能力和鲁棒性的场合,如工业自动化生产线、精密加工设备等。通过学习本篇文章提供的理论知识和编程技巧,读者能够掌握这两种先进控制策略的应用方法,从而提升自身解决复杂控制问题的能力。 其他说明:文中所涉及的内容不仅限于理论讲解,还包括了大量的实战经验分享,有助于读者快速上手并在实践中不断改进自己的设计方案。同时鼓励读者积极尝试不同的参数配置,以便找到最适合特定应用场景的最佳解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值