GrideViewDemo 九宫格

package com.lch.grideview;


import java.util.ArrayList;
import java.util.List;


import android.app.Activity;
import android.graphics.Picture;
import android.os.Bundle;
import android.widget.GridView;


public class MainActivity extends Activity {
    /** Called when the activity is first created. */
    private GridView gv;
    private List<MyPicture > ps;
    private GridAdapter adapter;
    int []pid={
     R.drawable.fruit_01,
     R.drawable.fruit_02,
     R.drawable.fruit_03,
     R.drawable.fruit_04,
     R.drawable.fruit_05,
     R.drawable.fruit_06,
     R.drawable.fruit_07,
     R.drawable.fruit_08,
     R.drawable.fruit_09,
    };
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
         setContentView(R.layout.main);
         gv=(GridView) findViewById(R.id.grid);
         ps=new ArrayList<MyPicture>();
         for(int i=0;i<9;i++)
         {
             MyPicture p=new MyPicture();
             p.Imageid=pid[i];
             p.ImageName=(i+1)+"";
             ps.add(p);
         }
         adapter=new GridAdapter(ps,this);
         
         gv.setAdapter(adapter);
         
    }

}


package com.lch.grideview;


import java.util.List;


import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;


public class GridAdapter extends BaseAdapter {
private List<MyPicture> pictures;
private LayoutInflater inflater;
private Context context;


public GridAdapter(List<MyPicture>ps,Context context)
{
   this.pictures=ps;    
   this.context=context;
}




    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        if(pictures!=null)
            return pictures.size();
        else
        return 0;
    }


    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return pictures.get(position);
    }


    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }


    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        Viewholder holder;
        if(convertView==null)
        {
            inflater=LayoutInflater.from(context);
            convertView=inflater.inflate(R.layout.grid, null);
            holder=new Viewholder();
            holder.title=(TextView) convertView.findViewById(R.id.txt);
            holder.image=(ImageView) convertView.findViewById(R.id.img);
            convertView.setTag(holder);
        }
        else
        {
            holder=(Viewholder) convertView.getTag();
        }
        holder.title.setText(pictures.get(position).ImageName);
        holder.image.setImageResource(pictures.get(position).Imageid);
        return convertView;
    }
    
    class Viewholder
    {
        public TextView title;
        public ImageView image;
    }
    
  


}


内容概要:本文围绕直流微电网中带有恒功率负载(CPL)的DC/DC升压转换器的稳定控制问题展开研究,提出了一种复合预设性能控制策略。首先,通过精确反馈线性化技术将非线性不确定的DC转换器系统转化为Brunovsky标准型,然后利用非线性扰动观测器评估负载功率的动态变化和输出电压的调节精度。基于反步设计方法,设计了具有预设性能的复合非线性控制器,确保输出电压跟踪误差始终在预定义误差范围内。文章还对比了多种DC/DC转换器控制技术如脉冲调整技术、反馈线性化、滑模控制(SMC)、主动阻尼法和基于无源性的控制,并分析了它们的优缺点。最后,通过数值仿真验证了所提控制器的有效性和优越性。 适合人群:从事电力电子、自动控制领域研究的学者和工程师,以及对先进控制算法感兴趣的研究生及以上学历人员。 使用场景及目标:①适用于需要精确控制输出电压并处理恒功率负载的应用场景;②旨在实现快速稳定的电压跟踪,同时保证系统的鲁棒性和抗干扰能力;③为DC微电网中的功率转换系统提供兼顾瞬态性能和稳态精度的解决方案。 其他说明:文中不仅提供了详细的理论推导和算法实现,还通过Python代码演示了控制策略的具体实现过程,便于读者理解和实践。此外,文章还讨论了不同控制方法的特点和适用范围,为实际工程项目提供了有价值的参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值