- 浏览: 31591 次
- 性别:
- 来自: 上海
最近访客 更多访客>>
最新评论
-
punan7005:
这不就是我们公司吗
转(坚决抛弃powerdesigner建模) -
jkluooop:
我尝试过啊,很郁闷,在第一次访问的时候IE跟FFX下老弹出登录 ...
JCIFS相关 -
every:
你好
请教2008 ad 如何配置ssl
AD、CA、SSL,绑定keystore
Reflection 是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如public, static 等等)、superclass(例如Object)、实现之interfaces(例如Serializable),也包括fields和methods的所有信息,并可于运行时改变fields内容或调用methods。
现在很多流行的框架,像Spring,Hibernate都用到了java的反射机制。
下面通过一些测试程序来熟悉java反射API
其中主要类有Class、Field、Method、Modifier、Constructor、Aarry 等。具体的查看API
- import java.lang.reflect.Constructor;
- import java.lang.reflect.Field;
- import java.lang.reflect.Method;
- import java.lang.reflect.Modifier;
- import java.util.Scanner;
- @SuppressWarnings("unchecked")
- public class TestReflection01 {
- public static void main(String[] args) {
- System.out.println("请输入类型名称:");
- Scanner scan = new Scanner(System.in);
- String className = scan.next();
- System.out.println("当前类型:" + className);
- try {
- //获取Class对象
- Class c = Class.forName(className);
- //解析属性信息
- Field[] fs = c.getDeclaredFields();
- for (Field f : fs) {
- System.out.println("----------------------------------------------");
- System.out.println("属性:" + f.toString());
- System.out.println("\t数据类型:" + f.getType());
- System.out.println("\t属性名:" + f.getName());
- int mod = f.getModifiers();
- System.out.println("\t属性修饰符:" + Modifier.toString(mod));
- }
- //解析方法信息
- Method[] ms = c.getDeclaredMethods();
- for(Method m : ms){
- System.out.println("----------------------------------------------");
- System.out.println("方法:" + m.toString());
- System.out.println("\t方法名:" + m.getName());
- int mod = m.getModifiers();
- System.out.println("\t方法修饰符:" + Modifier.toString(mod));
- System.out.print("\t方法参数列表:");
- Class pts[] = m.getParameterTypes();
- for (int i = 0; i < pts.length; i++) {
- Class class1 = pts[i];
- if(i != 0 )
- System.out.print(", ");
- System.out.print(class1);
- }
- System.out.println();
- System.out.println("\t返回值类型:" + m.getReturnType());
- }
- //解析构造方法信息
- Constructor[] cs = c.getDeclaredConstructors();
- for (Constructor con : cs) {
- System.out.println("----------------------------------------------");
- System.out.println("构造方法:" + con.toString());
- System.out.println("\t方法名:" + con.getName());
- int mod = con.getModifiers();
- System.out.println("\t方法修饰符:" + Modifier.toString(mod));
- System.out.print("\t方法参数列表:");
- Class pts[] = con.getParameterTypes();
- for (int i = 0; i < pts.length; i++) {
- Class class1 = pts[i];
- if(i != 0 )
- System.out.print(", ");
- System.out.print(class1);
- }
- System.out.println();
- }
- System.out.println("----------------------------------------------");
- //解析当前类类型的父类
- Class superClass = c.getSuperclass();
- System.out.println("当前类的父类:" + superClass.toString());
- System.out.println("----------------------------------------------");
- //解析当前类实现的接口
- Class[] interfaces = c.getInterfaces();
- System.out.print("当前类所实现接口:");
- for (Class class1 : interfaces) {
- System.out.print(class1.toString() + "\t");
- }
- System.out.println("\n----------------------------------------------");
- //解析当前类型所在包信息
- Package p = c.getPackage();
- System.out.println("当前类所在包" + p.toString());
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- }
- }
- }
import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.util.Scanner; @SuppressWarnings("unchecked") public class TestReflection01 { public static void main(String[] args) { System.out.println("请输入类型名称:"); Scanner scan = new Scanner(System.in); String className = scan.next(); System.out.println("当前类型:" + className); try { //获取Class对象 Class c = Class.forName(className); //解析属性信息 Field[] fs = c.getDeclaredFields(); for (Field f : fs) { System.out.println("----------------------------------------------"); System.out.println("属性:" + f.toString()); System.out.println("\t数据类型:" + f.getType()); System.out.println("\t属性名:" + f.getName()); int mod = f.getModifiers(); System.out.println("\t属性修饰符:" + Modifier.toString(mod)); } //解析方法信息 Method[] ms = c.getDeclaredMethods(); for(Method m : ms){ System.out.println("----------------------------------------------"); System.out.println("方法:" + m.toString()); System.out.println("\t方法名:" + m.getName()); int mod = m.getModifiers(); System.out.println("\t方法修饰符:" + Modifier.toString(mod)); System.out.print("\t方法参数列表:"); Class pts[] = m.getParameterTypes(); for (int i = 0; i < pts.length; i++) { Class class1 = pts[i]; if(i != 0 ) System.out.print(", "); System.out.print(class1); } System.out.println(); System.out.println("\t返回值类型:" + m.getReturnType()); } //解析构造方法信息 Constructor[] cs = c.getDeclaredConstructors(); for (Constructor con : cs) { System.out.println("----------------------------------------------"); System.out.println("构造方法:" + con.toString()); System.out.println("\t方法名:" + con.getName()); int mod = con.getModifiers(); System.out.println("\t方法修饰符:" + Modifier.toString(mod)); System.out.print("\t方法参数列表:"); Class pts[] = con.getParameterTypes(); for (int i = 0; i < pts.length; i++) { Class class1 = pts[i]; if(i != 0 ) System.out.print(", "); System.out.print(class1); } System.out.println(); } System.out.println("----------------------------------------------"); //解析当前类类型的父类 Class superClass = c.getSuperclass(); System.out.println("当前类的父类:" + superClass.toString()); System.out.println("----------------------------------------------"); //解析当前类实现的接口 Class[] interfaces = c.getInterfaces(); System.out.print("当前类所实现接口:"); for (Class class1 : interfaces) { System.out.print(class1.toString() + "\t"); } System.out.println("\n----------------------------------------------"); //解析当前类型所在包信息 Package p = c.getPackage(); System.out.println("当前类所在包" + p.toString()); } catch (ClassNotFoundException e) { e.printStackTrace(); } } }
- import java.lang.reflect.Field;
- import java.lang.reflect.InvocationTargetException;
- import java.lang.reflect.Method;
- import p2.User;
- @SuppressWarnings("unchecked")
- public class TestReflection02 {
- public static void main(String[] a) throws Exception{
- User p1 = new User("张三",18);
- TestReflection02 t = new TestReflection02();
- System.out.println("----------------------------------------");
- t.mf1(p1,"name","李四");
- t.mf1(p1,"age",30);
- System.out.println(p1);
- System.out.println("----------------------------------------");
- t.mf2("p2.User", "total",88);
- System.out.println("----------------------------------------");
- Class[] argTypes = {String.class,int.class};
- Object[] args = new Object[]{"王五",99};
- t.mf3(p1, "setAll",argTypes,args);
- System.out.println(p1);
- System.out.println("----------------------------------------");
- t.mf4("p2.User", "showTotal",null,null);
- }
- //直接操作对象属性
- public void mf1(Object o,String fieldName,Object newValue) throws NoSuchFieldException, IllegalAccessException {
- Class c = o.getClass(); //Class.forname("p2.User")
- //获取对象的属性引用
- Field f = c.getField(fieldName);
- //获取指定对象的属性值
- Object fv = f.get(o);
- System.out.print("修改前:" + fieldName + "=" + fv);
- //设置指定对象的属性值
- f.set(o,newValue);
- System.out.println("\t修改后:" + fieldName + "=" + f.get(o));
- }
- //直接操作类属性
- public void mf2(String className,String fieldName,Object newValue) throws ClassNotFoundException, NoSuchFieldException, IllegalAccessException {
- Class c = Class.forName(className);
- Field f = c.getField(fieldName);
- Object fv = f.get(c);
- System.out.print("修改前:" + fieldName + "=" + fv);
- f.set(c,newValue);
- System.out.println("\t修改后:" + fieldName + "=" + f.get(c));
- }
- //调用对象成员方法
- public void mf3(Object o,String methodName,Class[]argTypes,Object[] args) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
- Class c = o.getClass();
- Method m = c.getMethod(methodName, argTypes);
- Object result = m.invoke(o, args);
- System.out.println(result);
- }
- //调用类成员方法
- public void mf4(String className,String methodName,Class[]argTypes,Object[] args) throws ClassNotFoundException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException {
- Class c = Class.forName(className);
- Method m = c.getMethod(methodName, argTypes);
- Object result = m.invoke(null, args);
- System.out.println("result:" + result);
- }
- }
import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import p2.User; @SuppressWarnings("unchecked") public class TestReflection02 { public static void main(String[] a) throws Exception{ User p1 = new User("张三",18); TestReflection02 t = new TestReflection02(); System.out.println("----------------------------------------"); t.mf1(p1,"name","李四"); t.mf1(p1,"age",30); System.out.println(p1); System.out.println("----------------------------------------"); t.mf2("p2.User", "total",88); System.out.println("----------------------------------------"); Class[] argTypes = {String.class,int.class}; Object[] args = new Object[]{"王五",99}; t.mf3(p1, "setAll",argTypes,args); System.out.println(p1); System.out.println("----------------------------------------"); t.mf4("p2.User", "showTotal",null,null); } //直接操作对象属性 public void mf1(Object o,String fieldName,Object newValue) throws NoSuchFieldException, IllegalAccessException { Class c = o.getClass(); //Class.forname("p2.User") //获取对象的属性引用 Field f = c.getField(fieldName); //获取指定对象的属性值 Object fv = f.get(o); System.out.print("修改前:" + fieldName + "=" + fv); //设置指定对象的属性值 f.set(o,newValue); System.out.println("\t修改后:" + fieldName + "=" + f.get(o)); } //直接操作类属性 public void mf2(String className,String fieldName,Object newValue) throws ClassNotFoundException, NoSuchFieldException, IllegalAccessException { Class c = Class.forName(className); Field f = c.getField(fieldName); Object fv = f.get(c); System.out.print("修改前:" + fieldName + "=" + fv); f.set(c,newValue); System.out.println("\t修改后:" + fieldName + "=" + f.get(c)); } //调用对象成员方法 public void mf3(Object o,String methodName,Class[]argTypes,Object[] args) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException { Class c = o.getClass(); Method m = c.getMethod(methodName, argTypes); Object result = m.invoke(o, args); System.out.println(result); } //调用类成员方法 public void mf4(String className,String methodName,Class[]argTypes,Object[] args) throws ClassNotFoundException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException { Class c = Class.forName(className); Method m = c.getMethod(methodName, argTypes); Object result = m.invoke(null, args); System.out.println("result:" + result); } }
- import java.lang.reflect.*;
- @SuppressWarnings("unchecked")
- public class TestReflection03 {
- public static void main(String[] args) {
- Class c;
- try {
- c = Class.forName("p1.Person");
- //调用有参数的构造方法
- Class[] argTypes = {String.class,int.class};
- Constructor constructor = c.getConstructor(argTypes);
- Object obj = constructor.newInstance("中国",5000);
- System.out.println(obj);
- //调用无参构造方法1
- constructor = c.getConstructor();
- //constructor = c.getConstructor(new Class[0]);
- //constructor = c.getConstructor(null);
- obj = constructor.newInstance();
- System.out.println(obj);
- //调用无参构造方法2
- obj = c.newInstance();
- System.out.println(obj);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
import java.lang.reflect.*; @SuppressWarnings("unchecked") public class TestReflection03 { public static void main(String[] args) { Class c; try { c = Class.forName("p1.Person"); //调用有参数的构造方法 Class[] argTypes = {String.class,int.class}; Constructor constructor = c.getConstructor(argTypes); Object obj = constructor.newInstance("中国",5000); System.out.println(obj); //调用无参构造方法1 constructor = c.getConstructor(); //constructor = c.getConstructor(new Class[0]); //constructor = c.getConstructor(null); obj = constructor.newInstance(); System.out.println(obj); //调用无参构造方法2 obj = c.newInstance(); System.out.println(obj); } catch (Exception e) { e.printStackTrace(); } } }
- import java.lang.reflect.Array;
- import p1.Person;
- @SuppressWarnings("unchecked")
- public class TestReflection04 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- int[] records = {89,56,43,77,33};
- Person[] ps = {new Person("张三",18),
- new Person("李四",24),
- new Person("王五",30)
- };
- records = (int[])incrementArray(records);
- ps = (Person[])incrementArray(ps);
- list(records);
- list(ps);
- int[][] a = (int[][])Array.newInstance(int.class,2,3);
- System.out.println(a);
- }
- public static Object incrementArray(Object array){
- //返回数组中成员的数据类型
- Class elementType = array.getClass().getComponentType();
- int size = Array.getLength(array);
- Object newArray = Array.newInstance(elementType, size*2);
- for (int i = 0; i < size; i++) {
- Object o = Array.get(array, i);
- Array.set(newArray, i, o);
- }
- //System.arraycopy(array,0,newArray,0,size);
- return newArray;
- }
- public static void list(Object array){
- int size = Array.getLength(array);
- for (int i = 0; i < size; i++) {
- System.out.println(Array.get(array, i));
- }
- }
- }
import java.lang.reflect.Array; import p1.Person; @SuppressWarnings("unchecked") public class TestReflection04 { public static void main(String[] args) { // TODO Auto-generated method stub int[] records = {89,56,43,77,33}; Person[] ps = {new Person("张三",18), new Person("李四",24), new Person("王五",30) }; records = (int[])incrementArray(records); ps = (Person[])incrementArray(ps); list(records); list(ps); int[][] a = (int[][])Array.newInstance(int.class,2,3); System.out.println(a); } public static Object incrementArray(Object array){ //返回数组中成员的数据类型 Class elementType = array.getClass().getComponentType(); int size = Array.getLength(array); Object newArray = Array.newInstance(elementType, size*2); for (int i = 0; i < size; i++) { Object o = Array.get(array, i); Array.set(newArray, i, o); } //System.arraycopy(array,0,newArray,0,size); return newArray; } public static void list(Object array){ int size = Array.getLength(array); for (int i = 0; i < size; i++) { System.out.println(Array.get(array, i)); } } }
- import p5.Student;
- import java.io.*;
- import java.util.*;
- import java.lang.reflect.*;
- /**
- * 模拟JavaBean接受表单参数
- *
- */
- @SuppressWarnings("unchecked")
- public class TestReflection05 {
- private static Hashtable mySession ;
- static{
- mySession = new Hashtable();
- mySession.put("stu", new Student());
- }
- public static void main(String[] args) throws Exception{
- // 解析准备好的属性文件。属性文件就相当于接受的参数
- Properties ps = new Properties();
- FileReader fr = new FileReader("props.txt");
- //导入关联文件中的属性信息
- ps.load(fr);
- fr.close();
- Enumeration pnames = ps.propertyNames();
- while(pnames.hasMoreElements()){
- String pname = (String)pnames.nextElement();
- String pvalue = ps.getProperty(pname);
- TestReflection05.receiveParams("stu",pname,pvalue);
- }
- System.out.println(TestReflection05.mySession.get("stu"));
- }
- public static void receiveParams(String beanName,String propertyName,String propertyValue) throws Exception{
- //模拟获取一个javaBean对象
- Object o = mySession.get(beanName);
- Class c = o.getClass();
- String methodName = "set" + propertyName.substring(0,1).toUpperCase() + propertyName.substring(1);
- Method method = c.getMethod(methodName, java.lang.String.class);
- method.invoke(o, propertyValue);
- }
- }
import p5.Student; import java.io.*; import java.util.*; import java.lang.reflect.*; /** * 模拟JavaBean接受表单参数 * */ @SuppressWarnings("unchecked") public class TestReflection05 { private static Hashtable mySession ; static{ mySession = new Hashtable(); mySession.put("stu", new Student()); } public static void main(String[] args) throws Exception{ // 解析准备好的属性文件。属性文件就相当于接受的参数 Properties ps = new Properties(); FileReader fr = new FileReader("props.txt"); //导入关联文件中的属性信息 ps.load(fr); fr.close(); Enumeration pnames = ps.propertyNames(); while(pnames.hasMoreElements()){ String pname = (String)pnames.nextElement(); String pvalue = ps.getProperty(pname); TestReflection05.receiveParams("stu",pname,pvalue); } System.out.println(TestReflection05.mySession.get("stu")); } public static void receiveParams(String beanName,String propertyName,String propertyValue) throws Exception{ //模拟获取一个javaBean对象 Object o = mySession.get(beanName); Class c = o.getClass(); String methodName = "set" + propertyName.substring(0,1).toUpperCase() + propertyName.substring(1); Method method = c.getMethod(methodName, java.lang.String.class); method.invoke(o, propertyValue); } }
发表评论
-
resin3.1配置说明
2010-12-14 16:07 881<!-- Resin 3.1 配置文件. --> ... -
resion 2.x配置
2010-12-14 16:06 1172resion 2.x配置 1. <http h ... -
sqlserver 递归查询
2010-12-01 17:20 808WITH read_tree (id,department ... -
20个非常有用的Java程序片段
2010-08-31 22:58 1397下面是20个非常有用的Java程序片段,希望能对你有用。1. ... -
ajax post提交乱码
2010-08-10 17:28 16006月30日 jQuery ajax乱码问题解决 一、测试环 ... -
IE注册表设置安全项
2010-07-30 17:16 2264Windows安全设置之注册表项在IE4.0以上的版本中,IE ... -
AD、CA、SSL,绑定keystore
2010-04-12 22:37 2646本文原文出处:http://blog.csdn.net/fre ... -
理解REST软件架构(转)
2010-01-01 23:47 865一种思维方式影响了软件行业的发展。REST软件架构是当今世界上 ... -
数据整合_SP
2009-12-18 14:50 772CREATE OR REPLACE PACKAGE BODY ... -
屏蔽数据_SP
2009-12-18 14:46 765CREATE OR REPLACE PACKAGE BODY ... -
数据抽取_SP
2009-12-18 14:44 931CREATE OR REPLACE PACKAGE BODY ... -
合并清洗
2009-12-18 14:41 747CREATE OR REPLACE PACKAGE BODY ... -
数据清洗_sp
2009-12-18 14:39 764CREATE OR REPLACE PACKAGE BODY ... -
test_help_sp
2009-12-18 08:24 723CREATE OR REPLACE PACKAGE BODY ... -
数据清洗2
2009-12-18 08:23 817create or replace package body ... -
数据清洗3
2009-12-18 08:22 829CREATE OR REPLACE PACKAGE BODY ... -
dwr reverse-ajax 实例解析(初步认识)
2009-10-30 15:20 1062在网上找了一个老外写的dwr reverse-ajax的例子 ... -
oracle sql
2009-09-23 10:29 636select * from PDS_DELIVERY_REQU ... -
开闭原则 思考(转)
2009-09-17 12:56 880开闭原则的定义 Software entities shou ... -
oracle函数
2009-09-16 23:38 1055oracle时间函数 相信很多人都有过统计某些数据的经历,比 ...
相关推荐
commvault的api接口的postman导入文档
"基于模型预测控制的无人驾驶车辆运动学验证:Simulink与Carsim仿真结果对比与模型解析",无人驾驶车辆模型预测控制 自动驾驶 汽车运动学模型验证 simulink和Carsim仿真结果对比 1.基于matlab2021a和Carsim2020 2.提供模型相关的说明文档 ,核心关键词:无人驾驶车辆模型预测控制; 自动驾驶; 汽车运动学模型验证; simulink; Carsim仿真结果对比; MATLAB 2021a; Carsim 2020; 模型说明文档。,基于Matlab与Carsim的无人驾驶车辆模型预测控制与仿真结果对比分析
基于QRBiGRU双向门控循环单元的复杂时间序列预测模型研究——Matlab分位数回归与多图多指标评估模型优化案例。,Matlab实现基于QRBiGRU分位数回归双向门控循环单元的时间序列区间预测模型: 1.Matlab实现基于QRBiGRU分位数回归双向门控循环单元的时间序列区间预测模型 2.多图输出、多指标输出(MAE、RMSE、MSE、R2),多输入单输出,含不同置信区间图、概率密度图; 3.data为数据集,功率数据集,用过去一段时间的变量,预测目标,目标为最后一列,也可适用于负荷预测、风速预测;MainQRBiGRUTS为主程序,其余为函数文件。 BiGRU分位数预测得到不同置信区间下的风电功率结果如图所示。 可以看出,不同置信度条件下的预测区间与风电功率实际值的波动大致相同,表明本文的方法能够准确预测风电功率变化,此外在实际值变化剧烈的地方置信区间越宽,表明预测可信度变低,这也与实际情况相符合。 对比预测未来不同时间步的预测区间,预测的误差在增大。 根据BiGRU分位数预测未来90min后的结果,采用核密度估计,生成风电功率的概率密度曲线。 如图所示。 可以看到,风电功率实
MATLAB多相材料相场断裂分析:纤维基体界面三相的载荷位移曲线可视化研究,matlab多相材料相场断裂,图中包含纤维基体界面三相,并输出载荷位移曲线。 paraview可视化 ,关键词:Matlab;多相材料;相场断裂;纤维基体界面三相;载荷位移曲线;Paraview可视化,"MATLAB相场断裂分析:多相材料中纤维基体界面的三维可视化与载荷位移曲线输出"
基于MATLAB的FFT滤波技术:实现波形数据谐波分析、频段清除与提取的全面解决方案,基于matlab的FFT滤波,可以实现对simulink模型中示波器的波形数据或者外部mat数据、csv数据进行谐波分析(FFT)和自定义频段清除,对已有数据特定频段的数据进行提取也可以。 优点是滤波前后波形无相位滞后,幅值衰减可补偿,不足之处在于不支持实时滤波。 图一是将图二的信号(含三次谐波)进行140hz-150hz频段谐波清除前后的时域及频谱图,图3是对给定数据进行特定频段信号提取。 ,基于MATLAB的FFT滤波; 谐波分析; 频段清除; 波形无相位滞后; 幅值衰减可补偿; 数据特定频段提取,MATLAB的FFT滤波技术:数据频谱分析与自定义频段谐波清除与提取
c++编译器,适用于IDE没有自带编译器的
2020年09月Scratch一级理论B
"Comsol连续体束缚态BIC探究:一维光栅与二维光子晶体板的能带与Q因子计算",Comsol连续体中的束缚态BIC。 涉及能带计算与Q因子计算,包含一维光栅和二维光子晶体板。 注: 不包含拓扑荷计算。 ,核心关键词:Comsol连续体;束缚态BIC;能带计算;Q因子计算;一维光栅;二维光子晶体板。,《Comsol连续体束缚态BIC能带计算与Q因子探索》
MAKINO系列机床操作与维修设定指南:PRO3操作、S系列使用、培训课程及安装手册,MAKINO 牧野 PRO3 维修设定操作 A55 PRO3操作说明书 日文.pdf A55卧加工作台旋转后加工原点计算.xlsx A61_SPECS.pdf MAKINO PRO3 V55-Operation-Guide 英文.pdf MAKINO S 系列PRO5 使用说明书PIC-Makino-S33-S56-0209.pdf MAKINO 培训课程Schulung_英文.pdf MAKINO-F3F5安装手册MANUAL 英文.pdf Makino-GF8主轴头取汲说明书.pdf MAKINO-PRO3-ProgManua英文l.pdf PIC-Makino-a61-0209.pdf V33 V55 -Series-Operation-485a-9911e英文.pdf V55-Maintenance-Guide-4v2b1563英文.pdf 牧野J5机床说明书J5_OPERATION_中文.pdf 牧野Professional5使用说明书摘要(a1系列 a51 a61 a71 a81 a82
2022年7月信息技术服务管理体系
2019年11月职业健康安全管理体系
"Comsol一维光子晶体ZAK相位计算方法详解:含MPH文件与MATLAB代码的实践指南",Comsol一维光子晶体zak相位计算,包含mph文件和matlab代码。 ,核心关键词:Comsol一维光子晶体; zak相位计算; mph文件; matlab代码; 计算过程。,基于Comsol的一维光子晶体:Zak相位计算与mph及Matlab代码解析
SWOT分析培训
GBT27053复习备考
"Java开源海外跨境电商购物商城源码与TikToK内嵌商城系统源码:多语言支持,全球市场触手可及的在线外贸商城解决方案",Java开源海外跨境电商购物商城源码,TikToK内嵌商城系统源码,外贸商城在线,附带搭建教程 提供搭建部署文档、提供一年更新服务,协助资料准备,服务器域名等第三方资料自备 二十一种语言,可以做很多国家的市场,支持商家入驻,多店铺等等,还有币可以切美元USD或越南盾VND 访问网站:tiktok898点com 服务器配置:内存要高:最低:8H16G 服务器系统:ubuntu 20.04 ,关键词:Java开源; 跨境电商; 购物商城源码; TikToK内嵌商城; 外贸商城; 搭建教程; 部署文档; 更新服务; 商家入驻; 多店铺; 货币切换; 美元USD; 越南盾VND; 网站访问; 服务器配置; 高内存; 8H16G; ubuntu 20.04; 资料准备; 第三方资料。,海外多语种跨境电商平台源码:TikToK内嵌商城系统,支持商家入驻与货币切换
Java项目博物馆管理系统
2020年12月C语言一级
2021月12月Python一级理论
MATLAB扩展卡尔曼滤波与无迹卡尔曼滤波程序:带误差对比与数字显示的完整实现,MATLAB编写的EKF和UKF滤波程序源代码 扩展卡尔曼滤波、无迹卡尔曼滤波的MATLAB程序,有误差对比图像和最大误差数字的显示。 只有一个m文件,打开就能运行。 带中文注释。 ,EKF; UKF; MATLAB源代码; 误差对比图像; 最大误差数字; 中文注释,"MATLAB中EKF与UKF滤波程序源代码:一码运行,带误差对比与注释"
扩展卡尔曼滤波算法在辨识永磁同步电机转动惯量中的实际应用,采用S函数编写及参考资料详解,扩展卡尔曼滤波(ekf)辩识永磁同步电机电机转动惯量,s函数编写,附参考资料 ,核心关键词:扩展卡尔曼滤波(EKF); 永磁同步电机; 电机转动惯量辨识; S函数编写; 附参考资料,"基于扩展卡尔曼滤波的永磁同步电机转动惯量S函数辨识法"